<template>
    <div class="pagestyle">
        <div v-if="state.datatree.length ==0 && !state.addShowTtation">
            <p class="tree_title">
                <span class="fw700">分站以及测点配置</span>
            </p>
            <div style="text-align: center;">
                <img src="@/assets/images/nodata.png" alt="" />
                <p>暂无数据，请先配置分站</p>
                <el-button plain type="info" @click="addstationBtn">新增分站</el-button>
            </div>
        </div>
        <el-card v-if="state.addShowTtation || state.datatree.length>0">
            <el-row :gutter="20" style="overflow-y: auto;">
                <!-- 左侧树形 -->
                <el-col :span="5">
                    <div class="p10" style="height: calc(100vh - 190px);overflow-y: auto;overflow-x: hidden;">
                        <div class="title_r_box">
                            <p class="tree_title">
                                <span>分站以及测点配置</span>
                            </p>
                            <el-button type="primary" class="w100" style="margin-bottom:10px;" @click="addstationBtn">
                                <el-icon>
                                    <Plus />
                                </el-icon>新增分站
                            </el-button>
                            <el-input clearable v-model="state.treeSearch" @blur="treeSearchBlur" placeholder="模糊搜索">
                                <template #prefix>
                                    <el-icon class="el-input__icon">
                                        <search />
                                    </el-icon>
                                </template>
                            </el-input>
                        </div>
                        <el-tree ref="pointtree" :data="state.datatree" :props="state.defaultProps"
                            :highlight-current="true" node-key="value" @node-click="handleNodeClick"
                            style="margin-top: 20px;" class="custom-tree" :current-node-key="state.curTreeId"
                            :default-expanded-keys="state.defaultExpandedNodes" accordion
                            :filter-node-method="filterNode">
                            <template #default="{ node, data }">
                                <span class="custom-tree-node fsc"
                                    style="width: 100%;display: flex;justify-content: space-between;"
                                    @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
                                    <span>
                                        <svg-icon v-if="data.children" class-name="search-icon" icon-class="wenjian"
                                            style="margin-right: 5px;" />
                                        <span><span class="b" :class="{'blue':node.data.pointTypeName=='普通',
                                           'red': node.data.pointTypeName=='虚拟','zi':node.data.pointTypeName=='多参'}">
                                                {{ node.data.pointTypeName }}</span>
                                            <span v-if="node.data.controlPort"><span
                                                    class="b grey">{{ node.data.controlPort }}</span>
                                                <span v-if="node.data.controlPortType == null"
                                                    @click="addopenClickright(node.parent.parent.data.value)">
                                                    <svg-icon class-name="search-icon" icon-class="addtotal" />
                                                    <el-button type="primary" link>添加</el-button>
                                                </span>
                                            </span>


                                            <span v-if="node.data.controlPortType!=null&&node.data.controlPort">
                                                <el-tooltip class="box-item" effect="light"
                                                    :content="node.data.id+'/'+node.data.controlPortTypeName+'/'+node.data.pointPlaceName"
                                                    placement="right">
                                                    {{ node.data.id }}/{{ node.data.controlPortTypeName }}/{{ node.data.pointPlaceName }}
                                                </el-tooltip>
                                            </span>
                                            <!-- <span
                                                v-if="node.data.controlPortTypeName!=''&&node.data.controlPort">{{ node.data.controlPortTypeName }}/</span>
                                            <span
                                                v-if="node.data.pointPlaceName!=null">{{ node.data.pointPlaceName }}</span> -->
                                            <el-tooltip class="box-item" effect="light" :content="node.label"
                                                placement="right">
                                                {{ node.label }}
                                            </el-tooltip>
                                        </span>
                                        <span
                                            v-if="data.children&&data.value=='noopen'">({{ node.parent.data.controlNum }}/{{ data.children.length }})</span>
                                        <span
                                            v-if="data.children && data.value!='nopoint'&& data.value!='noopen'">({{ data.totalNum }})</span>
                                        <span v-if="data.value=='nopoint'">({{ data.children.length }})</span>
                                    </span>
                                    <span>
                                        <!-- 测点添加 -->
                                        <svg-icon v-if="data.value=='nopoint'" class-name="search-icon"
                                            icon-class="addtotal"
                                            @click.stop="addtreePonit(data.id,node.parent.data.value)" />
                                        <!-- 分站删除 -->
                                        <svg-icon v-show="data.del" v-if="data.type=='fenzhan'" class-name="search-icon"
                                            icon-class="delkong" @click.stop="deletetree(data.value)" />
                                        <!-- 测点删除 -->
                                        <svg-icon v-show="data.del" class="deleteIcon"
                                            v-if="node.parent.data.value=='nopoint'" class-name="search-icon"
                                            icon-class="delkong" @click.stop="deletetreepoint(data.value)" />
                                        <!-- 开出口删除 -->
                                        <svg-icon v-show="data.del" class="deleteIcon"
                                            v-if="node.parent.data.value=='noopen'&&node.data.controlPortType!=null"
                                            class-name="search-icon" icon-class="delkong"
                                            @click.stop="delopenClick(node.data.controlPort,node.parent.parent.data.value)" />
                                    </span>
                                </span>
                            </template>
                        </el-tree>
                    </div>
                </el-col>
                <!-- 新增分站页面 -->
                <el-col :span="19" v-if="state.addShowTtation ==true">
                    <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                        <div class="title_r_box">
                            <p class="p_btn">
                                <oneclickDelivery></oneclickDelivery>
                            </p>
                            <p class="title_r"><span class="fz16 active">分站信息</span>(若想添加分站类型/重新修改分站类型，<el-button
                                    type="primary" @click="tostationType" link>请点击跳转</el-button>)</p>
                        </div>
                        <el-form class="formBox" ref="formRef" :model="state.formData" :rules="state.rules"
                            label-position="top">
                            <div class="desc_box">
                                <el-row :gutter="20">
                                    <el-col :span="6">
                                        <el-form-item label="分站编号（范围：0~255）" prop="stationCode">
                                            <el-select class="w100" :disabled="state.stationDis" clearable filterable
                                                v-model="state.formData.stationCode" placeholder="请选择">
                                                <el-option v-for="item in state.ationNosList" :key="item" :label="item"
                                                    :value="item">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6">
                                        <el-form-item label="分站类型" prop="stationTypeId">
                                            <el-select class="w100" clearable filterable
                                                v-model="state.formData.stationTypeId" placeholder="请选择"
                                                @change="stationTypeChange">
                                                <el-option v-for="item in state.substationList" :key="item.id"
                                                    :label="item.stationTypeName" :value="item.id">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6">
                                        <el-form-item label="输入口数量" prop="stationInNum">
                                            <el-input disabled v-model="state.formData.stationInNum" placeholder="请输入">
                                            </el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6">
                                        <el-form-item label="分站模式" prop="stationModelName">
                                            <el-input disabled v-model="state.formData.stationModelName"
                                                placeholder="请输入">
                                            </el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12">
                                        <el-form-item label="安装地点" prop="stationPlaceName">
                                            <el-select class="w100" clearable filterable allow-create
                                                v-model="state.formData.stationPlaceName" placeholder="请选择">
                                                <el-option v-for="item in state.addressInfoList" :key="item.id"
                                                    :label="item.placeName" :value="item.placeName">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12">
                                        <el-form-item label="所在区域" prop="stationAreaId">
                                            <el-cascader class="w100" v-model="state.formData.stationAreaId"
                                                :options="state.searchTreeList" clearable
                                                :props="{  children: 'childList',value: 'id', label: 'areaName',emitPath:false,checkStrictly:true}" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6">
                                        <el-form-item label="IP" prop="ipAddr">
                                            <el-input v-model="state.formData.ipAddr" placeholder="请输入"></el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6">
                                        <el-form-item label="端口" prop="ipPort">
                                            <el-input v-model.number=" state.formData.ipPort" placeholder="请输入">
                                            </el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6">
                                        <el-form-item label="通道号码" prop="channelNo">
                                            <el-select class="w100" clearable filterable allow-create
                                                v-model="state.formData.channelNo" placeholder="请选择"
                                                @change="channelNoChange">
                                                <el-option v-for="item in state.channelNoList" :key="item.id"
                                                    :label="item.name" :value="item.id">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6">
                                        <el-form-item label="设备唯一编号" prop="identifyingNo">
                                            <el-input v-model="state.formData.identifyingNo" placeholder="请输入">
                                            </el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12">
                                        <el-form-item label="分站地理位置">
                                            <div class="fbc">
                                                <el-input v-model="state.formData.locationX" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                    <template #prefix>
                                                        <span>X</span>
                                                    </template>
                                                </el-input>
                                                <el-input v-model="state.formData.locationY" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                    <template #prefix>
                                                        <span>Y</span>
                                                    </template>
                                                </el-input>
                                                <el-input v-model="state.formData.locationZ" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                    <template #prefix>
                                                        <span>Z</span>
                                                    </template>
                                                </el-input>
                                            </div>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                            </div>
                            <!-- 分站tab切换 -->
                            <el-col :span="24">
                                <p class="activeNameTab">
                                    <span class="span" :class="state.activeName ==item.type ? 'active':''"
                                        v-for="item in state.activeNameList" :key="item.type"
                                        @click="activeNameTabClick(item.type)">{{ item.name }}</span>
                                </p>
                            </el-col>
                            <div class="desc_box w100">
                                <list_controller v-if="state.activeName == 0" :options="state.options" pageName=""
                                    @deleteBtn="deleteBtn" @addBtn="addBtn" @editBtn="editBtn" @lookBtn="lookBtn"
                                    :addBtnMul="true" :delBtnMul="false"></list_controller>
                                <el-row :gutter="20" v-if="state.activeName == 2">
                                    <el-col :span="4">
                                        <el-form-item label="无主断电" prop="isPlaceotherBreakfalg">
                                            <el-switch v-model="state.formData.isPlaceotherBreakfalg" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="4">
                                        <el-form-item label="瓦斯抽放" prop="isGasDrainage">
                                            <el-switch v-model="state.formData.isGasDrainage" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="4">
                                        <el-form-item label="以太网" prop="isNetwork">
                                            <el-switch v-model="state.formData.isNetwork" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="4">
                                        <el-form-item label="禁止非即插即用传感器" prop="noOldprotocolSensor">
                                            <el-switch v-model="state.formData.noOldprotocolSensor" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="4">
                                        <el-form-item label="续传" prop="continuation">
                                            <el-switch v-model="state.formData.continuation" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="4">
                                        <el-form-item label="测点断线断电" prop="pointCutBroken">
                                            <el-switch v-model="state.formData.pointCutBroken" />
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                                <list_controller v-if="state.activeName == 0" :options="state.options1" pageName=""
                                    @deleteBtn="deleteBtn" @addBtn="addBtn" @editBtn="editBtn" @lookBtn="lookBtn"
                                    :addBtnMul="true" :delBtnMul="false"></list_controller>
                            </div>
                        </el-form>
                    </div>
                    <div class="footer_card fbc">
                        <span></span>
                        <span>
                            <el-button class="btn" type="info" @click="cancelClick">取消</el-button>
                            <el-button class="btn" type="primary" @click="addClick">确定</el-button>
                        </span>
                    </div>
                </el-col>
                <!-- 有左侧数据展示页面 -->
                <el-col :span="19" v-if="state.nodetailShowTtation == true">
                    <div class="fdcc h100">
                        <img style="margin-left:-20px;" src="@/assets/images/nodata.png" />
                        <p style="color:rgba(0,0,0,0.5)">请在左侧点击查看</p>
                    </div>
                </el-col>
                <!-- 分站详情 -->
                <el-col :span="19" v-if="state.detailShowTtation == true">
                    <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                        <div class="title_r_box">
                            <p class="p_btn">
                                <oneclickDelivery></oneclickDelivery>
                            </p>
                            <p class="title_r fbc">
                                <span class="fz16 active">分站信息</span>
                                <div>
                                    <el-button link size="small" type="primary" @click="editstationBtn">
                                        <svg-icon class-name="search-icon" icon-class="editponit" />编辑</el-button>
                                    <el-button link size="small" type="primary"
                                        @click="addtreePonit(state.datatreeId,state.datatreeCode)">
                                        <svg-icon class-name="search-icon" icon-class="addponit" />新增测点
                                    </el-button>
                                    <el-button link size="small" type="primary">
                                        <svg-icon class-name="search-icon" icon-class="muponit" />模板</el-button>
                                    <el-button link size="small" type="primary"
                                        @click.stop="deletetree(state.datatreeCode)">
                                        <svg-icon class-name="search-icon" icon-class="delpoint" />删除
                                    </el-button>
                                </div>
                            </p>
                        </div>
                        <div class="formBox">
                            <div class="desc_box">
                                <p class="drawer_sub_title">
                                    <span>
                                        <svg-icon class-name="search-icon" icon-class="map" />
                                        {{state.formData.stationPlaceName}}</span>
                                </p>
                                <el-row :gutter="20" class="el-drawer_mash">
                                    <el-col :span="6">
                                        <div style="text-align:center;margin-top:10%;">
                                            <div style="position:relative;">
                                                <img v-if="state.formData.stationTypeImagePath"
                                                    style="width:80px;height:80px"
                                                    :src="state.formData.stationTypeImagePath" alt="" />
                                                <img v-else src="@/assets/images/noimg.png" />
                                                <span style="position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);
                                                    font-size:12px;background-color:rgba(103, 194, 58, 1);padding:2px 4px;
                                                    border-radius:4px;color:#fff;font-weight:700;"
                                                    v-if="state.formData.pointStatus == 0">{{state.formData.pointStatusName }}</span>
                                            </div>
                                            <p style="font-weight:700;font-size:14px">
                                                {{state.formData.stationTypeName}}</p>
                                            <p style="font-size:14px"><span>{{state.formData.stationVersion}}</span>
                                                <el-button size="small" type="primary" link>发现新版本
                                                    <svg-icon class-name="search-icon" icon-class="upload" />
                                                </el-button>
                                            </p>
                                        </div>
                                    </el-col>
                                    <el-col :span="18">
                                        <el-row :gutter="20">
                                            <el-col :span="8">
                                                <p>输入口数量/开出口数量</p>
                                                <p>{{state.formData.stationInNum}}/{{state.formData.stationOutNum}}</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>分站模式</p>
                                                <p>{{state.formData.stationModelName}}</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>IP:端口</p>
                                                <p>{{state.formData.ipAddr}}:{{state.formData.ipPort}}</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>通道</p>
                                                <p>
                                                    <el-button link type="primary">{{state.formData.channelName}}
                                                    </el-button>
                                                </p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>所在区域</p>
                                                <p>{{state.formData.stationAreaName}}</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>安装时刻</p>
                                                <p>{{state.formData.createTime}}</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>设备唯一编号</p>
                                                <p v-if="state.formData.identifyingNo!=null">
                                                    {{state.formData.identifyingNo}}</p>
                                                <p v-else>-</p>
                                            </el-col>
                                            <el-col :span="16">
                                                <p>应用场景</p>
                                                <p>{{state.formData.applicationScene}}</p>
                                            </el-col>
                                            <el-col :span="24">
                                                <p>地理位置(X Y Z)</p>
                                                <span class="chaolink"
                                                    v-if="state.formData.locationX !=null ||  state.formData.locationY!=null||state.formData.locationZ!=null">
                                                    {{state.formData.locationX}},{{state.formData.locationY}},{{state.formData.locationZ}}
                                                </span>
                                                <span v-else>-</span>
                                            </el-col>
                                        </el-row>
                                    </el-col>
                                </el-row>
                            </div>
                            <el-col :span="24">
                                <p class="activeNameTab">
                                    <span class="span" :class="state.activeName1 ==item.type ? 'active':''"
                                        v-for="item in state.activeNameList" :key="item.type"
                                        @click="activeNameTabClick1(item.type)">{{ item.name }}</span>
                                </p>
                            </el-col>
                            <div class="desc_box">
                                <el-row :gutter="20" v-if="state.activeName1 ==0"
                                    class="collapseBoxdesc el-drawer_mash">
                                    <el-col :span="24">
                                        <el-collapse v-model="state.collapseAtive" @change="handleChange">
                                            <el-collapse-item :name="index" v-for="(item,index) in 1">
                                                <template #title>
                                                    <div class="fbc" style="width:100%;">
                                                        <div style="width:100%;">
                                                            <el-row :gutter="20" class="collapseBox">
                                                                <el-col :span="6">
                                                                    <p>
                                                                        <span
                                                                            style="color:#333;font-weight:700;">中央变电所电源1</span>
                                                                        <span
                                                                            style="font-size:12px;background-color:rgba(103, 194, 58, 1);
                                                                        color:#fff;padding:2px 4px;border-radius:2px;">直流电</span>
                                                                    </p>
                                                                    <p>
                                                                        主巷道中央变电所
                                                                    </p>
                                                                </el-col>
                                                                <el-col :span="6">
                                                                    <p>
                                                                        电源状态</p>
                                                                    <p>
                                                                        <el-button type="primary" link size="mini">
                                                                            充电中</el-button>
                                                                    </p>
                                                                </el-col>
                                                                <el-col :span="6">
                                                                    <p>
                                                                        电源类型</p>
                                                                    <p>
                                                                        KDW660-29BJ-电源分站
                                                                    </p>
                                                                </el-col>
                                                                <el-col :span="6">
                                                                    <p>
                                                                        电源号</p>
                                                                    <p>
                                                                        1号电源
                                                                    </p>
                                                                </el-col>
                                                            </el-row>
                                                        </div>
                                                    </div>
                                                </template>
                                                <el-row :gutter="20">
                                                    <el-col :span="6">
                                                        <p>最近充电时刻</p>
                                                        <p>2024-5-9 17:19:33</p>
                                                    </el-col>
                                                    <el-col :span="6">
                                                        <p>最近充电时长</p>
                                                        <p>1小时</p>
                                                    </el-col>
                                                    <el-col :span="6">
                                                        <p>最近放电时刻</p>
                                                        <p>2024-5-9 17:19:33</p>
                                                    </el-col>
                                                    <el-col :span="6">
                                                        <p>最近放电时长</p>
                                                        <p>1小时</p>
                                                    </el-col>
                                                    <el-col :span="6">
                                                        <p>历史充放电</p>
                                                        <p>
                                                            <el-button link type="primary">查看</el-button>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="6">
                                                        <p>关联测点</p>
                                                        <p>
                                                            <el-button link type="primary">查看</el-button>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="6">
                                                        <p>放电时刻门限</p>
                                                        <p>1小时</p>
                                                    </el-col>
                                                    <el-col :span="6">
                                                        <p>容量门限</p>
                                                        <p>20%</p>
                                                    </el-col>
                                                    <el-col :span="6">
                                                        <p>电源路数</p>
                                                        <p>2</p>
                                                    </el-col>
                                                    <el-col :span="6">
                                                        <p>程序版本</p>
                                                        <p>1.0.01</p>
                                                    </el-col>
                                                    <el-col :span="12">
                                                        <p>安装时刻</p>
                                                        <p>2024-4-12 14:32:51</p>
                                                    </el-col>
                                                </el-row>
                                            </el-collapse-item>
                                        </el-collapse>
                                    </el-col>
                                </el-row>
                                <el-row :gutter="20" v-if="state.activeName1 == 2">
                                    <el-col :span="3">
                                        <el-form-item label="无主断电" prop="isPlaceotherBreakfalg">
                                            <el-switch v-model="state.formData.isPlaceotherBreakfalg" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="3">
                                        <el-form-item label="瓦斯抽放" prop="isGasDrainage">
                                            <el-switch v-model="state.formData.isGasDrainage" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="3">
                                        <el-form-item label="以太网" prop="isNetwork">
                                            <el-switch v-model="state.formData.isNetwork" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="5">
                                        <el-form-item label="禁止非即插即用传感器" prop="noOldprotocolSensor">
                                            <el-switch v-model="state.formData.noOldprotocolSensor" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="3">
                                        <el-form-item label="续传" prop="continuation">
                                            <el-switch v-model="state.formData.continuation" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="4">
                                        <el-form-item label="测点断线断电" prop="pointCutBroken">
                                            <el-switch v-model="state.formData.pointCutBroken" />
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                            </div>
                        </div>
                    </div>
                </el-col>
                <!-- 新增测点页面 -->
                <el-col :span="19" v-if="state.addShowPoint ==true">
                    <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                        <div class="title_r_box">
                            <p class="p_btn">
                                <oneclickDelivery></oneclickDelivery>
                            </p>
                            <p class="title_r"><span class="fz16 hover" @click="addstationBtn">分站信息</span>
                                <span class="fz16 active">测点信息</span></p>
                        </div>
                        <el-form class="formBox" ref="formRef1" :model="state.formData1" :rules="state.rules1"
                            label-position="top">
                            <div class="desc_box">
                                <el-row :gutter="20">
                                    <el-col :span="6">
                                        <el-form-item label="测点编号" prop="pointCode">
                                            <el-select class="w100" clearable filterable
                                                v-model="state.formData1.pointCode" placeholder="请选择"
                                                :disabled="state.editpontDis">
                                                <el-option v-for="item in state.pointNoList" :key="item" :label="item"
                                                    :value="item">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6">
                                        <el-form-item label="测点类型" prop="pointType">
                                            <el-select class="w100" clearable filterable
                                                v-model="state.formData1.pointType" placeholder="请选择"
                                                :disabled="state.editpontDis" @change="pointTypeChange">
                                                <el-option v-for="item in state.pointTypeList" :key="item.value"
                                                    :label="item.name" :value="item.value">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12" v-if="state.formData1.pointType ==3">
                                        <el-form-item prop="templateId">
                                            <label slot="label">
                                                <span style="color:#f56c6c;">*</span><span>模板名称</span>
                                                <el-button link type="primary" style="margin-left:5px;"
                                                    @click="addtemplateClick">新增模板</el-button>
                                            </label>
                                            <el-cascader class="w100" ref="templateref"
                                                v-model="state.formData1.templateId" :options="state.templateTreeList"
                                                clearable :props="{value: 'id', label: 'templateName',emitPath:false}"
                                                @change="templateTreeChange" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="24"
                                        v-if="state.expressionVoList.length>0&&state.formData1.pointType ==3">
                                        <el-form-item prop="expressionVoList">
                                            <label slot="label">
                                                <span style="color:#f56c6c;">*</span><span>虚拟表达式</span>
                                                <!-- <el-button link type="primary" style="margin-left:5px;">调整</el-button> -->
                                            </label>
                                            <div class="w100">
                                                <span v-for="item in state.expressionVoList">
                                                    <el-select v-if="item.obj" clearable filterable v-model="item.value"
                                                        :placeholder="item.value1">
                                                        <el-option v-for="item1 in item.obj.codeList" :key="item1"
                                                            :label="item1" :value="item1">
                                                        </el-option>
                                                    </el-select>
                                                    <span v-else>{{item.value}}</span>
                                                </span>
                                            </div>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12" v-if="state.formData1.pointType ==1">
                                        <el-form-item label="传感器名称" prop="sensorId">
                                            <el-cascader class="w100" ref="cascaderValue"
                                                v-model="state.formData1.sensorId" @change="chuangantreeChange"
                                                :options="state.sensorIdList" clearable :props="{emitPath:false}" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12" v-if="state.formData1.pointType ==2">
                                        <el-form-item label="传感器名称" prop="sensorId">
                                            <span>
                                                <el-select clearable filterable v-model="state.formData1.sensorId"
                                                    placeholder="请选择" :disabled="state.editpontDis"
                                                    @change="mulsensorIdChange">
                                                    <el-option v-for="item in state.mulsensorIdList" :key="item.id"
                                                        :label="item.sensorName" :value="item.id">
                                                    </el-option>
                                                </el-select>
                                                <el-popover placement="right" :width="600" trigger="hover"
                                                    v-if="state.looksensorObj">
                                                    <template #reference>
                                                        <el-button type="primary" link style="margin-right: 16px">
                                                            查看传感器参数
                                                        </el-button>
                                                    </template>
                                                    <template #default>
                                                        <el-row :gutter="20" class="fac">
                                                            <el-col :span="4">
                                                                <img v-if="state.looksensorObj.imagePath"
                                                                    style="height:100px;width:100%;"
                                                                    :src="state.looksensorObj.imagePath" />
                                                                <img v-else src="@/assets/images/noimg.png" />
                                                            </el-col>
                                                            <el-col :span="20">
                                                                <el-row :gutter="20">
                                                                    <el-col style="font-size:16px;font-weight:700"
                                                                        :span="24">
                                                                        {{ state.looksensorObj.sensorName }}
                                                                    </el-col>
                                                                    <el-col :span="12"
                                                                        v-for="item in state.looksensorObj.sensorList">
                                                                        <span
                                                                            style="padding:4px 10px;display:inline-block;background-color:rgba(242, 244, 245, 1);border-radius:4px;margin-top:10px;">{{item.name}}</span>
                                                                    </el-col>
                                                                </el-row>
                                                            </el-col>
                                                        </el-row>
                                                    </template>
                                                </el-popover>
                                            </span>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12">
                                        <el-form-item label="安装地点" prop="pointPlaceName">
                                            <el-select class="w100" clearable filterable allow-create
                                                v-model="state.formData1.pointPlaceName" placeholder="请选择">
                                                <el-option v-for="item in state.addressInfoList" :key="item.id"
                                                    :label="item.placeName" :value="item.placeName">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12">
                                        <el-form-item label="所在区域" prop="pointAreaId">
                                            <el-cascader class="w100" v-model="state.formData1.pointAreaId"
                                                :options="state.searchTreeList" clearable
                                                :props="{  children: 'childList',value: 'id', label: 'areaName',emitPath:false,checkStrictly:true}" />
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12" v-if="state.needPlaceType == true">
                                        <el-form-item label="地点类型" prop="placeTypeId">
                                            <el-select style="width: 100%;" clearable filterable
                                                v-model="state.formData1.placeTypeId" placeholder="请选择">
                                                <el-option v-for="item in state.placeTypeIdList" :key="item.id"
                                                    :label="item.typePlace+item.typeCode" :value="item.id">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6">
                                        <el-form-item label="瓦斯抽放测点" prop="isGasDrainage">
                                            <el-switch v-model="state.formData1.isGasDrainage">
                                            </el-switch>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6" v-if="state.formData1.isGasDrainage">
                                        <el-form-item label="瓦斯抽放监测点组别" prop="gasDrainageGroupno">
                                            <el-select class="w100" clearable filterable
                                                v-model="state.formData1.gasDrainageGroupno" placeholder="请选择">
                                                <el-option v-for="item in 4" :key="item" :label="item" :value="item">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6"
                                        v-if="state.formData1.calibration && state.formData1.pointType !=3">
                                        <el-form-item label="同步添加到标校管理" prop="isCalibration">
                                            <el-switch v-model="state.formData1.calibration.isCalibration">
                                            </el-switch>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6"
                                        v-if="state.formData1.calibration && state.formData1.pointType !=3">
                                        <el-form-item label="标校间隔时刻(天)" prop="calibration.intervalTime"
                                            v-if="state.formData1.calibration.isCalibration">
                                            <el-input oninput="value=value.replace(/[^\d.]/g,'')"
                                                v-model.number="state.formData1.calibration.intervalTime"
                                                placeholder="请输入" :min="1" :max="365">
                                            </el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12">
                                        <el-form-item label="地理位置">
                                            <div class="fbc">
                                                <el-input v-model="state.formData1.locationX" oninput="value =value.replace(/[^\-\d.]/g, '').replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1').replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1').replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1').replace(/(\.\d{8})\d*/, '$1')">
                                                    <template #prefix>
                                                        <span>X</span>
                                                    </template>
                                                </el-input>
                                                <el-input v-model="state.formData1.locationY" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                    <template #prefix>
                                                        <span>Y</span>
                                                    </template>
                                                </el-input>
                                                <el-input v-model="state.formData1.locationZ" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                    <template #prefix>
                                                        <span>Z</span>
                                                    </template>
                                                </el-input>
                                            </div>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12" v-if="state.formData1.pointType !=3">
                                        <el-form-item label="设备唯一编号" prop="pointIdentifyingNo">
                                            <el-input v-model="state.formData1.pointIdentifyingNo" placeholder="请输入">
                                            </el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                            </div>
                            <!-- 多参测点 -->
                            <div v-if="state.formData1.pointType == 2">
                                <div class="activeNameTab" style="display:flex;">
                                    <el-tabs v-model="state.mulactiveNamePoint" class="demo-tabs w100"
                                        @tab-click="handleClick">
                                        <el-tab-pane v-for="(item,index) in state.formData1.multiplePointBranchList"
                                            :label="item.childIndxName !=null ? item.sensorName+'-'+item.childIndexName : item.sensorName"
                                            :name="item.sensorId" :key="index">
                                            <el-row :gutter="20" v-if="state.mulactiveNamePoint ==item.sensorId">
                                                <el-col :span="24" v-if="item.baohanD !='S'">
                                                    <p class="activeNameTab" style="padding-left:0px;">
                                                        <span v-for="(point,pointIndex) in state.pointactiveNameList"
                                                            :key="point.type"
                                                            @click="ponitactiveNameTabClick(point.type)">
                                                            <span v-if="item.baohanD=='D'">
                                                                <span v-if="item.needGrandalarm">
                                                                    <span class="span1"
                                                                        :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                        v-if="point.type!=4">{{ point.name }}</span>
                                                                </span>
                                                                <span v-else>
                                                                    <span class="span1"
                                                                        :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                        v-if="point.type!=4 && point.type!=2">{{ point.name }}</span>
                                                                </span>
                                                            </span>
                                                            <span v-else>
                                                                <span v-if="item.needGrandalarm">
                                                                    <span class="span1"
                                                                        :class="state.activeNamePoint ==point.type ? 'active1':''">{{ point.name }}</span>
                                                                </span>
                                                                <span v-else>
                                                                    <span class="span1"
                                                                        :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                        v-if="point.type!=2">{{ point.name }}</span>
                                                                </span>
                                                            </span>
                                                        </span>
                                                    </p>
                                                </el-col>
                                                <el-col :span="24" class="desc_box" v-if="item.baohanD !='S'">
                                                    <div v-if="state.activeNamePoint == 1">
                                                        <el-row :gutter="20" v-if="item">
                                                            <el-col :span="8">
                                                                <el-form-item label="报警模式"
                                                                    :prop="`multiplePointBranchList[${index}][alarmBasic.alarmType]`"
                                                                    :rules="state.rules1.field_mulalarmType">
                                                                    <el-select clearable filterable
                                                                        v-model="item.alarmBasic.alarmType"
                                                                        placeholder="请选择">
                                                                        <el-option v-for="item in state.alarmBasicList"
                                                                            :key="item.code" :label="item.name+'报警'"
                                                                            :value="item.code">
                                                                        </el-option>
                                                                    </el-select>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="16">
                                                                <el-form-item label="上限报警值"
                                                                    v-if="(item.alarmBasic.alarmType ==1 || item.alarmBasic.alarmType ==3)&&item.baohanD!='D'"
                                                                    :prop="`multiplePointBranchList[${index}][alarmBasic.upAlarmValue]`"
                                                                    :rules="state.rules1.field_mulupAlarmValue">
                                                                    <div class="fbc">
                                                                        <el-row :gutter="20">
                                                                            <el-col :span="12">
                                                                                <div class="fac">
                                                                                    <span class="wn">报警值≥</span>
                                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                        v-model="item.alarmBasic.upAlarmValue"
                                                                                        placeholder="报警值≥">
                                                                                    </el-input>
                                                                                </div>
                                                                            </el-col>
                                                                            <el-col :span="12">
                                                                                <div class="fac">
                                                                                    <span class="wn">解报值＜</span>
                                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                        v-model="item.alarmBasic.upRelieveValue"
                                                                                        placeholder="解报值＜">
                                                                                    </el-input>
                                                                                </div>
                                                                            </el-col>
                                                                        </el-row>
                                                                    </div>
                                                                </el-form-item>
                                                                <el-form-item label="下限报警值"
                                                                    v-if="(item.alarmBasic.alarmType ==2 || item.alarmBasic.alarmType ==3)&&item.baohanD!='D'"
                                                                    :prop="`multiplePointBranchList[${index}][alarmBasic.downAlarmValue]`"
                                                                    :rules="state.rules1.field_muldownAlarmValue">
                                                                    <div class="fbc">
                                                                        <el-row :gutter="20">
                                                                            <el-col :span="12">
                                                                                <div class="fac">
                                                                                    <span class="wn">报警值≤</span>
                                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                        v-model="item.alarmBasic.downAlarmValue"
                                                                                        placeholder="报警值≤">
                                                                                    </el-input>
                                                                                </div>
                                                                            </el-col>
                                                                            <el-col :span="12">
                                                                                <div class="fac">
                                                                                    <span class="wn">解报值＞</span>
                                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                        v-model="item.alarmBasic.downRelieveValue"
                                                                                        placeholder="解报值＞">
                                                                                    </el-input>
                                                                                </div>
                                                                            </el-col>
                                                                        </el-row>
                                                                    </div>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="8">
                                                                <el-form-item prop="hasPreAlarm" label-position="left">
                                                                    <span class="wn">预报警</span>
                                                                    <el-switch v-model="item.prealarmBasic.hasPreAlarm">
                                                                    </el-switch>
                                                                    <el-button link type="primary" size="small"
                                                                        @click="hasPreAlarmdescClick">
                                                                        全部详情
                                                                    </el-button>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="16"></el-col>
                                                            <el-col :span="24" v-if="item.prealarmBasic.hasPreAlarm">
                                                                <el-row :gutter="20">
                                                                    <el-col :span="6">
                                                                        <el-form-item label="上限预报值"
                                                                            :prop="`multiplePointBranchList[${index}][prealarmBasic.upPrealarmValue]`"
                                                                            :rules="state.rules1.field_mulupPrealarmValue">
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.prealarmBasic.upPrealarmValue"
                                                                                placeholder="请输入">
                                                                            </el-input>
                                                                        </el-form-item>
                                                                    </el-col>
                                                                    <el-col :span="6">
                                                                        <el-form-item label="下限预报值"
                                                                            :prop="`multiplePointBranchList[${index}][prealarmBasic.downPrealarmValue]`"
                                                                            :rules="state.rules1.field_muldownPrealarmValue">
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.prealarmBasic.downPrealarmValue"
                                                                                placeholder="请输入">
                                                                            </el-input>
                                                                        </el-form-item>
                                                                    </el-col>
                                                                    <el-col :span="6">
                                                                        <el-form-item label="超时"
                                                                            :prop="`multiplePointBranchList[${index}][prealarmBasic.prealarmTimeout]`"
                                                                            :rules="state.rules1.field_mulprealarmTimeout">
                                                                            <span class="fac">
                                                                                <el-select clearable filterable
                                                                                    v-model="item.prealarmBasic.prealarmTimeout"
                                                                                    placeholder="请选择">
                                                                                    <el-option
                                                                                        v-for="item in state.prealarmTimeoutData"
                                                                                        :key="item" :label="item+'分钟'"
                                                                                        :value="item">
                                                                                    </el-option>
                                                                                </el-select>
                                                                                <span class="wn">分钟</span>
                                                                            </span>
                                                                        </el-form-item>
                                                                    </el-col>
                                                                </el-row>
                                                            </el-col>
                                                            <el-col :span="24">
                                                                <el-form-item>
                                                                    <span>恒值预报警</span>
                                                                    <el-switch
                                                                        v-model="item.prealarmBasic.hasConstantPreAlarm">
                                                                    </el-switch>
                                                                    <el-button link type="primary" size="small"
                                                                        @click="hasConstantPreAlarmdescClick">
                                                                        全部详情
                                                                    </el-button>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="8"
                                                                v-if="item.prealarmBasic.hasConstantPreAlarm">
                                                                <el-form-item label="恒值持续时间"
                                                                    :prop="`multiplePointBranchList[${index}][prealarmBasic.constantTime]`"
                                                                    :rules="state.rules1.field_mulconstantTime">
                                                                    <span class="fac">
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="item.prealarmBasic.constantTime"
                                                                            placeholder="请输入">
                                                                        </el-input>
                                                                        <span class="wn">分钟</span>
                                                                    </span>
                                                                </el-form-item>
                                                            </el-col>
                                                        </el-row>
                                                    </div>
                                                    <!-- 分级配置 -->
                                                    <div v-if="state.activeNamePoint == 2">
                                                        <el-row :gutter="20">
                                                            <el-col :span="6">
                                                                <el-form-item
                                                                    :label="item.baohanD == 'D'?'分级报警':'上限分级报警'">
                                                                    <el-switch v-model="item.hasUpGrandAlarm"
                                                                        @change="hasUpGrandAlarmChange" />
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="6" v-if="item.baohanD != 'D'">
                                                                <el-form-item label="下限分级报警">
                                                                    <el-switch v-model="item.hasDownGrandAlarm"
                                                                        @change="hasDownGrandAlarmChange" />
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="6">
                                                                <el-form-item label="启用多级报警">
                                                                    <el-switch v-model="item.hasMoreGrandAlarm" />
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="6" v-if="item.baohanD != 'D'">
                                                                <el-form-item label="启用涨/跌幅">
                                                                    <el-switch v-model="item.hasChangeGrandAlarm" />
                                                                </el-form-item>
                                                            </el-col>
                                                        </el-row>
                                                        <el-row v-if="item.hasUpGrandAlarm && item.hasDownGrandAlarm">
                                                            <el-radio-group v-model="state.radio1">
                                                                <el-radio-button label="上限分级报警" value="上限分级报警" />
                                                                <el-radio-button label="下限分级报警" value="下限分级报警" />
                                                            </el-radio-group>
                                                        </el-row>
                                                        <el-row :gutter="20" style="margin:0 10px"
                                                            v-if="state.radio1=='上限分级报警' && item.hasUpGrandAlarm">
                                                            <el-row :gutter="20" v-if="item.baohanD != 'D'">
                                                                <el-col :span="24" v-if="item.hasChangeGrandAlarm">
                                                                    <p class="drawer_sub_title"
                                                                        style="margin-left:0;padding-top:10px;">
                                                                        <span>
                                                                            变化参数设置</span>
                                                                    </p>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label="变化率判断门限≥"
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.thresholdValue`"
                                                                        :rules="state.rules1.field_upgrandthresholdValue">
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="item.upGrandalarmBasic.grandalarmRate.thresholdValue"
                                                                            placeholder="请输入">
                                                                            <template
                                                                                #append>{{item.sensorUnit}}</template>
                                                                        </el-input>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label="变化率持续周期"
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateCycle`"
                                                                        :rules="state.rules1.field_upgrandrateCycle">
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="item.upGrandalarmBasic.grandalarmRate.rateCycle"
                                                                            placeholder="请输入">
                                                                            <template #append>秒</template>
                                                                        </el-input>
                                                                    </el-form-item>
                                                                </el-col>
                                                            </el-row>
                                                            <el-row :gutter="20">
                                                                <el-col :span="24" v-if="item.hasMoreGrandAlarm">
                                                                    <el-row :gutter="20">
                                                                        <el-col :span="24">
                                                                            <p class="pfz">六级报警</p>
                                                                        </el-col>
                                                                        <el-col :span="8" v-if="item.baohanD != 'D'">
                                                                            <el-form-item label=""
                                                                                :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandsixValue`"
                                                                                :rules="state.rules1.field_upgrandsixValue">
                                                                                <div class="fac">
                                                                                    <span class="wn">上限预报值≥</span>
                                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandsixValue"
                                                                                        placeholder="请输入">
                                                                                        <template
                                                                                            #append>{{item.sensorUnit}}</template>
                                                                                    </el-input>
                                                                                </div>
                                                                            </el-form-item>
                                                                        </el-col>
                                                                        <el-col :span="8">
                                                                            <el-form-item label=""
                                                                                :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandsixTime`"
                                                                                :rules="state.rules1.field_upgrandsixTime">
                                                                                <div class="fac">
                                                                                    <span class="wn"
                                                                                        v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandsixTime"
                                                                                        placeholder="请输入">
                                                                                        <template #append>分钟</template>
                                                                                    </el-input>
                                                                                </div>
                                                                            </el-form-item>
                                                                        </el-col>
                                                                        <el-col :span="8"
                                                                            v-if="item.hasChangeGrandAlarm">
                                                                            <el-form-item label=""
                                                                                :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateSixValue`"
                                                                                :rules="state.rules1.field_uprateSixValue">
                                                                                <div class="fac">
                                                                                    <span class="wn">或 跌幅≥</span>
                                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandalarmRate.rateSixValue"
                                                                                        placeholder="请输入">
                                                                                        <template
                                                                                            #append>{{item.sensorUnit}}</template>
                                                                                    </el-input>
                                                                                </div>
                                                                            </el-form-item>
                                                                        </el-col>
                                                                        <el-col :span="24">
                                                                            <p class="pfz">五级报警</p>
                                                                        </el-col>
                                                                        <el-col :span="8" v-if="state.baohanD != 'D'">
                                                                            <el-form-item label=""
                                                                                :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandfiveValue`"
                                                                                :rules="state.rules1.field_upgrandfiveValue"
                                                                                v-if="item.hasMoreGrandAlarm">
                                                                                <div class="fac">
                                                                                    <span class="wn">下限预报值≤</span>
                                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandfiveValue"
                                                                                        placeholder="请输入">
                                                                                        <template
                                                                                            #append>{{item.sensorUnit}}</template>
                                                                                    </el-input>
                                                                                </div>
                                                                            </el-form-item>
                                                                        </el-col>
                                                                        <el-col :span="8">
                                                                            <el-form-item label=""
                                                                                :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandfiveTime`"
                                                                                :rules="state.rules1.field_upgrandfiveTime">
                                                                                <div class="fac">
                                                                                    <span class="wn"
                                                                                        v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandfiveTime"
                                                                                        placeholder="请输入">
                                                                                        <template #append>分钟</template>
                                                                                    </el-input>
                                                                                </div>
                                                                            </el-form-item>
                                                                        </el-col>
                                                                        <el-col :span="8"
                                                                            v-if="item.hasChangeGrandAlarm">
                                                                            <el-form-item label=""
                                                                                :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateFiveValue`"
                                                                                :rules="state.rules1.field_uprateFiveValue">
                                                                                <div class="fac">
                                                                                    <span class="wn">或 跌幅≥</span>
                                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandalarmRate.rateFiveValue"
                                                                                        placeholder="请输入">
                                                                                        <template
                                                                                            #append>{{item.sensorUnit}}</template>
                                                                                    </el-input>
                                                                                </div>
                                                                            </el-form-item>
                                                                        </el-col>
                                                                    </el-row>
                                                                </el-col>
                                                                <el-col :span="24">
                                                                    <p class="pfz">四级报警</p>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.baohanD != 'D'">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandfourValue`"
                                                                        :rules="state.rules1.field_upgrandfourValue">
                                                                        <div class="fac">
                                                                            <span class="wn">上限预报值≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandfourValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandfourTime`"
                                                                        :rules="state.rules1.field_upgrandfourTime">
                                                                        <div class="fac">
                                                                            <span class="wn"
                                                                                v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandfourTime"
                                                                                placeholder="请输入">
                                                                                <template #append>分钟</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateFourValue`"
                                                                        :rules="state.rules1.field_uprateFourValue">
                                                                        <div class="fac">
                                                                            <span class="wn">或 涨幅≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandalarmRate.rateFourValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="24">
                                                                    <p class="pfz">三级报警</p>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.baohanD != 'D'">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandthreeValue`"
                                                                        :rules="state.rules1.field_upgrandthreeValue">
                                                                        <div class="fac">
                                                                            <span class="wn">上限预报值≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandthreeValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandthreeTime`"
                                                                        :rules="state.rules1.field_upgrandthreeTime">
                                                                        <div class="fac">
                                                                            <span class="wn"
                                                                                v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandthreeTime"
                                                                                placeholder="请输入">
                                                                                <template #append>分钟</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateThreeValue`"
                                                                        :rules="state.rules1.field_uprateThreeValue">
                                                                        <div class="fac">
                                                                            <span class="wn">或 涨幅≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandalarmRate.rateThreeValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="24">
                                                                    <p class="pfz">二级报警</p>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.baohanD != 'D'">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandtwoValue`"
                                                                        :rules="state.rules1.field_upgrandtwoValue">
                                                                        <div class="fac">
                                                                            <span class="wn">上限预报值≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandtwoValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandtwoTime`"
                                                                        :rules="state.rules1.field_upgrandtwoTime">
                                                                        <div class="fac">
                                                                            <span class="wn"
                                                                                v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandtwoTime"
                                                                                placeholder="请输入">
                                                                                <template #append>分钟</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateTwoValue`"
                                                                        :rules="state.rules1.field_uprateTwoValue">
                                                                        <div class="fac">
                                                                            <span class="wn">或 涨幅≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandalarmRate.rateTwoValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="24">
                                                                    <p class="pfz">一级报警</p>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.baohanD != 'D'">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandoneValue`"
                                                                        :rules="state.rules1.field_upgrandoneValue">
                                                                        <div class="fac">
                                                                            <span class="wn">上限预报值≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandoneValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandoneTime`"
                                                                        :rules="state.rules1.field_upgrandoneTime">
                                                                        <div class="fac">
                                                                            <span class="wn"
                                                                                v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandoneTime"
                                                                                placeholder="请输入">
                                                                                <template #append>分钟</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item
                                                                        :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateOneValue`"
                                                                        :rules="state.rules1.field_uprateOneValue">
                                                                        <div class="fac">
                                                                            <span class="wn">或 涨幅≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.upGrandalarmBasic.grandalarmRate.rateOneValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                            </el-row>
                                                        </el-row>
                                                        <el-row :gutter="20" style="margin:0 10px"
                                                            v-if="state.radio1=='下限分级报警' && item.hasDownGrandAlarm">
                                                            <el-row :gutter="20">
                                                                <el-col :span="24" v-if="item.hasChangeGrandAlarm">
                                                                    <p class="drawer_sub_title"
                                                                        style="margin-left:0;padding-top:10px;">
                                                                        <span>
                                                                            变化参数设置</span>
                                                                    </p>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label="变化率判断门限≤"
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.thresholdValue`"
                                                                        :rules="state.rules1.field_downthresholdValue">
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="item.downGrandalarmBasic.grandalarmRate.thresholdValue"
                                                                            placeholder="请输入">
                                                                            <template
                                                                                #append>{{item.sensorUnit}}</template>
                                                                        </el-input>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label="变化率持续周期"
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateCycle`"
                                                                        :rules="state.rules1.field_downrateCycle">
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="item.downGrandalarmBasic.grandalarmRate.rateCycle"
                                                                            placeholder="请输入">
                                                                            <template #append>秒</template>
                                                                        </el-input>
                                                                    </el-form-item>
                                                                </el-col>
                                                            </el-row>
                                                            <el-row :gutter="20" v-if="item.hasMoreGrandAlarm">
                                                                <el-col :span="24">
                                                                    <p class="pfz">六级报警</p>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandsixValue`"
                                                                        :rules="state.rules1.field_downgrandsixValue">
                                                                        <div class="fac">
                                                                            <span class="wn">下限预报值≤</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandsixValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandsixTime`"
                                                                        :rules="state.rules1.field_downgrandsixTime">
                                                                        <div class="fac">
                                                                            <span class="wn">或 持续时间≤</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandsixTime"
                                                                                placeholder="请输入">
                                                                                <template #append>分钟</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateSixValue`"
                                                                        :rules="state.rules1.field_downrateSixValue">
                                                                        <div class="fac">
                                                                            <span class="wn">或 跌幅≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandalarmRate.rateSixValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="24">
                                                                    <p class="pfz">五级报警</p>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandfiveValue`"
                                                                        :rules="state.rules1.field_downgrandfiveValue"
                                                                        v-if="item.hasMoreGrandAlarm">
                                                                        <div class="fac">
                                                                            <span class="wn">下限预报值≤</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandfiveValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandfiveTime`"
                                                                        :rules="state.rules1.field_downgrandfiveTime">
                                                                        <div class="fac">
                                                                            <span class="wn">或 持续时间≤</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandfiveTime"
                                                                                placeholder="请输入">
                                                                                <template #append>分钟</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateFiveValue`"
                                                                        :rules="state.rules1.field_downrateFiveValue">
                                                                        <div class="fac">
                                                                            <span class="wn">或 跌幅≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandalarmRate.rateFiveValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                            </el-row>
                                                            <el-row :gutter="20">
                                                                <el-col :span="24">
                                                                    <p class="pfz">四级报警</p>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandfourValue`"
                                                                        :rules="state.rules1.field_downgrandfourValue">
                                                                        <div class="fac">
                                                                            <span class="wn">下限预报值≤</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandfourValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandfourTime`"
                                                                        :rules="state.rules1.field_downgrandfourTime">
                                                                        <div class="fac">
                                                                            <span class="wn">或 持续时间≤</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandfourTime"
                                                                                placeholder="请输入">
                                                                                <template #append>分钟</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateFourValue`"
                                                                        :rules="state.rules1.field_downrateFourValue">
                                                                        <div class="fac">
                                                                            <span class="wn">或 跌幅≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandalarmRate.rateFourValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="24">
                                                                    <p class="pfz">三级报警</p>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandthreeValue`"
                                                                        :rules="state.rules1.field_downgrandthreeValue">
                                                                        <div class="fac">
                                                                            <span class="wn">下限预报值≤</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandthreeValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandthreeTime`"
                                                                        :rules="state.rules1.field_downgrandthreeTime">
                                                                        <div class="fac">
                                                                            <span class="wn">或 持续时间≤</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandthreeTime"
                                                                                placeholder="请输入">
                                                                                <template #append>分钟</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateThreeValue`"
                                                                        :rules="state.rules1.field_downrateThreeValue">
                                                                        <div class="fac">
                                                                            <span class="wn">或 跌幅≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandalarmRate.rateThreeValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="24">
                                                                    <p class="pfz">二级报警</p>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandtwoValue`"
                                                                        :rules="state.rules1.field_downgrandtwoValue">
                                                                        <div class="fac">
                                                                            <span class="wn">下限预报值≤</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandtwoValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandtwoTime`"
                                                                        :rules="state.rules1.field_downgrandtwoTime">
                                                                        <div class="fac">
                                                                            <span class="wn">或 持续时间≤</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandtwoTime"
                                                                                placeholder="请输入">
                                                                                <template #append>分钟</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateTwoValue`"
                                                                        :rules="state.rules1.field_downrateTwoValue">
                                                                        <div class="fac">
                                                                            <span class="wn">或 跌幅≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandalarmRate.rateTwoValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="24">
                                                                    <p class="pfz">一级报警</p>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandoneValue`"
                                                                        :rules="state.rules1.field_downgrandoneValue">
                                                                        <div class="fac">
                                                                            <span class="wn">下限预报值≤</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandoneValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandoneTime`"
                                                                        :rules="state.rules1.field_downgrandoneTime">
                                                                        <div class="fac">
                                                                            <span class="wn">或 持续时间></span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandoneTime"
                                                                                placeholder="请输入">
                                                                                <template #append>分钟</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                    <el-form-item label=""
                                                                        :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateOneValue`"
                                                                        :rules="state.rules1.field_downrateOneValue">
                                                                        <div class="fac">
                                                                            <span class="wn">或 跌幅≥</span>
                                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                v-model="item.downGrandalarmBasic.grandalarmRate.rateOneValue"
                                                                                placeholder="请输入">
                                                                                <template
                                                                                    #append>{{item.sensorUnit}}</template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                            </el-row>
                                                        </el-row>
                                                    </div>
                                                    <!-- 普通断电 -->
                                                    <div v-if="state.activeNamePoint == 3" class="putongClass"
                                                        style="min-height:40px;">
                                                        <div style="position: relative;">
                                                            <el-button
                                                                style="position: absolute;top: 10px;right:20px;z-index: 2;cursor: pointer;"
                                                                link type="primary" @click="putongAddClick">
                                                                <el-icon>
                                                                    <Plus />
                                                                </el-icon>新增
                                                            </el-button>
                                                            <el-tabs v-model="state.ordintranValue" type="card"
                                                                v-if="item.cutValueList !=null" class="demo-tabs"
                                                                :closable="item.cutValueList.length==1?false:true"
                                                                @tab-remove="removeTab">
                                                                <el-tab-pane v-for="(cut,cutindex) in item.cutValueList"
                                                                    :key="(cutindex+1)" :label="'断电配置'+(cutindex+1)"
                                                                    :name="cutindex">
                                                                    <el-row :gutter="20" style="margin-top:10px;">
                                                                        <el-col :span="6">
                                                                            <el-form-item label="断电模式"
                                                                                :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}][cutType]`"
                                                                                :rules="state.rules1.field_mulcutType">
                                                                                <el-select clearable filterable
                                                                                    v-model="cut.cutType"
                                                                                    placeholder="请选择"
                                                                                    @change="cutTypeChange">
                                                                                    <el-option
                                                                                        v-for="cut in state.cutTypeList"
                                                                                        :key="cut.code"
                                                                                        :label="cut.name+'断电'"
                                                                                        :value="cut.code">
                                                                                    </el-option>
                                                                                </el-select>
                                                                            </el-form-item>
                                                                        </el-col>
                                                                        <el-col :span="6"
                                                                            v-if="cut.cutType ==1&&item.baohanD!='D'">
                                                                            <el-form-item label="断电值≥"
                                                                                :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}][cutValue]`"
                                                                                :rules="state.rules1.field_mulcutValue">
                                                                                <el-input v-model="cut.cutValue"
                                                                                    oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" placeholder="请输入">
                                                                                </el-input>
                                                                            </el-form-item>
                                                                        </el-col>
                                                                        <el-col :span="6"
                                                                            v-if="cut.cutType ==1&&item.baohanD!='D'">
                                                                            <el-form-item label="复电值＜"
                                                                                :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}][resumeValue]`"
                                                                                :rules="state.rules1.field_mulresumeValue">
                                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="cut.resumeValue"
                                                                                    placeholder="请输入">
                                                                                </el-input>
                                                                            </el-form-item>
                                                                        </el-col>
                                                                        <el-col :span="6"
                                                                            v-if="cut.cutType ==2&&item.baohanD!='D'">
                                                                            <el-form-item label="断电值≤"
                                                                                :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}][cutValue]`"
                                                                                :rules="state.rules1.field_mulcutValue1">
                                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="cut.cutValue"
                                                                                    placeholder="请输入">
                                                                                </el-input>
                                                                            </el-form-item>
                                                                        </el-col>
                                                                        <el-col :span="6"
                                                                            v-if="cut.cutType ==2&&item.baohanD!='D'">
                                                                            <el-form-item label="复电值＞"
                                                                                :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}][resumeValue]`"
                                                                                :rules="state.rules1.field_mulresumeValue1">
                                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="cut.resumeValue"
                                                                                    placeholder="请输入">
                                                                                </el-input>
                                                                            </el-form-item>
                                                                        </el-col>
                                                                        <el-col :span="6">
                                                                            <el-button link type="primary"
                                                                                style="margin-top:35px;"
                                                                                @click="addcutdeviceClick">
                                                                                <el-icon>
                                                                                    <Plus />
                                                                                </el-icon>断电设备
                                                                            </el-button>
                                                                        </el-col>
                                                                        <el-col :span="24" style="padding:10px;">
                                                                            <el-collapse v-model="state.collapseAtive"
                                                                                accordion>
                                                                                <el-collapse-item :name="index2"
                                                                                    v-for="(item2,index2) in cut.cutStationList">
                                                                                    <template #title>
                                                                                        <div class="fbc w100"
                                                                                            @click="stopCollapse">
                                                                                            <el-form-item
                                                                                                :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}]cutStationList[${index2}][stationPlaceName]`"
                                                                                                :rules="state.rules1.field_mulstationPlaceName">
                                                                                                <span
                                                                                                    style="margin-top:20px;">
                                                                                                    <span>分站</span>
                                                                                                    <el-select
                                                                                                        style="margin:0 5px;"
                                                                                                        clearable
                                                                                                        filterable
                                                                                                        v-model="item2.stationPlaceName"
                                                                                                        placeholder="请选择"
                                                                                                        @change="controlPortChange($event,index2)">
                                                                                                        <el-option
                                                                                                            v-for="station in state.stationPlaceNamList"
                                                                                                            :key="station.stationCode"
                                                                                                            :label="station.stationCode+'-'+station.stationPlaceName"
                                                                                                            :value="station.stationCode">
                                                                                                        </el-option>
                                                                                                    </el-select>
                                                                                                    <svg-icon
                                                                                                        class-name="search-icon"
                                                                                                        icon-class="delkong"
                                                                                                        @click.stop="fenzhankong(index2)" />
                                                                                                </span>
                                                                                            </el-form-item>
                                                                                        </div>
                                                                                    </template>
                                                                                    <div style="margin-top:10px">
                                                                                        <vxe-table border ref="tableRef"
                                                                                            :data="item2.controlPortList"
                                                                                            :checkbox-config="checkboxConfig1"
                                                                                            @checkbox-change="selectChangeEvent($event,index2)"
                                                                                            :row-config="{isCurrent:true,keyField:'controlPort'}">
                                                                                            <vxe-column type="checkbox"
                                                                                                width="60">
                                                                                            </vxe-column>
                                                                                            <vxe-column
                                                                                                field="controlPort"
                                                                                                title="开出口号">
                                                                                            </vxe-column>
                                                                                            <vxe-column
                                                                                                field="controlPortType"
                                                                                                title="控制设备">
                                                                                                <template
                                                                                                    #default="{row}">
                                                                                                    <span
                                                                                                        v-if="row.controlPortType== 1">断电仪</span>
                                                                                                    <span
                                                                                                        v-else>声光报警</span>
                                                                                                </template>
                                                                                            </vxe-column>
                                                                                            <vxe-column
                                                                                                field="pointPlaceName"
                                                                                                title="安装地点">
                                                                                            </vxe-column>
                                                                                            <vxe-column
                                                                                                field="feedPointId"
                                                                                                title="馈电测点">
                                                                                            </vxe-column>
                                                                                            <vxe-column
                                                                                                field="feedSensorName"
                                                                                                title="馈电设备">
                                                                                            </vxe-column>
                                                                                            <vxe-column title="配置">
                                                                                                <template
                                                                                                    #default="{row}">
                                                                                                    <el-button
                                                                                                        @click="pointputongConfigClick1(row)"
                                                                                                        link
                                                                                                        type="primary">
                                                                                                        配置
                                                                                                    </el-button>
                                                                                                </template>
                                                                                            </vxe-column>
                                                                                        </vxe-table>
                                                                                    </div>
                                                                                </el-collapse-item>
                                                                            </el-collapse>
                                                                        </el-col>
                                                                    </el-row>
                                                                </el-tab-pane>
                                                            </el-tabs>
                                                        </div>
                                                    </div>
                                                    <!-- 配置弹框 -->
                                                    <teleport to="body">
                                                        <vxe-modal esc-closable destroy-on-close :lock-view="false"
                                                            :width="500" :height="500" v-model="state.addModalconfig1"
                                                            resize :mask="true">
                                                            <template #title>
                                                                <div class="w100 h100 fsc mask_title">配置开出口</div>
                                                            </template>
                                                            <template #default>
                                                                <div class="form_box">
                                                                    <el-form ref="formRefconfig1"
                                                                        :model="state.formDataconfig1"
                                                                        :rules="state.rulesconfig1"
                                                                        label-position="top">
                                                                        <el-row :gutter="20">
                                                                            <el-col :span="12">
                                                                                <el-form-item label="开出口编号"
                                                                                    prop="controlPort">
                                                                                    <el-select disabled clearable
                                                                                        filterable
                                                                                        v-model="state.formDataconfig1.controlPort"
                                                                                        placeholder="请选择">
                                                                                        <el-option
                                                                                            v-for="item in state.stationmodelList"
                                                                                            :key="item.id"
                                                                                            :label="item.stationModelName"
                                                                                            :value="item.id">
                                                                                        </el-option>
                                                                                    </el-select>
                                                                                </el-form-item>
                                                                            </el-col>
                                                                            <el-col :span="12">
                                                                                <el-form-item label="控制设备"
                                                                                    prop="controlPortType">
                                                                                    <el-select class="w100" clearable
                                                                                        filterable
                                                                                        v-model="state.formDataconfig1.controlPortType"
                                                                                        placeholder="请选择"
                                                                                        @change="controlPortTypeChange">
                                                                                        <el-option
                                                                                            v-for="item in state.controlPortTypeList"
                                                                                            :key="item.code"
                                                                                            :label="item.name"
                                                                                            :value="item.code">
                                                                                        </el-option>
                                                                                    </el-select>
                                                                                </el-form-item>
                                                                            </el-col>
                                                                            <el-col :span="24">
                                                                                <el-form-item label="安装地点"
                                                                                    prop="pointPlaceName">
                                                                                    <el-select class="w100" clearable
                                                                                        filterable allow-create
                                                                                        v-model="state.formDataconfig1.pointPlaceName"
                                                                                        placeholder="请选择">
                                                                                        <el-option
                                                                                            v-for="item in state.addressInfoList"
                                                                                            :key="item.id"
                                                                                            :label="item.placeName"
                                                                                            :value="item.placeName">
                                                                                        </el-option>
                                                                                    </el-select>
                                                                                </el-form-item>
                                                                            </el-col>
                                                                            <el-col :span="24"
                                                                                v-if="state.formDataconfig1.controlPortType==1">
                                                                                <el-form-item label="馈电测点"
                                                                                    prop="feedPointId">
                                                                                    <el-select class="w100" clearable
                                                                                        filterable allow-create
                                                                                        v-model="state.formDataconfig1.feedPointId"
                                                                                        placeholder="请选择"
                                                                                        @change="feedPointIdChange">
                                                                                        <el-option
                                                                                            v-for="item in state.feedPointIdList"
                                                                                            :key="item.pointId"
                                                                                            :label="item.pointId+'/'+item.sensorName+'/'+item.pointPlaceName"
                                                                                            :value="item.pointId">
                                                                                        </el-option>
                                                                                    </el-select>
                                                                                </el-form-item>
                                                                            </el-col>
                                                                            <el-col :span="24">
                                                                                <el-form-item label="地理位置">
                                                                                    <div class="fbc">
                                                                                        <el-input
                                                                                            v-model="state.formDataconfig1.locationX"
                                                                                            oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                                            <template #prefix>
                                                                                                <span>X</span>
                                                                                            </template>
                                                                                        </el-input>
                                                                                        <el-input
                                                                                            v-model="state.formDataconfig1.locationY"
                                                                                            oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                                            <template #prefix>
                                                                                                <span>Y</span>
                                                                                            </template>
                                                                                        </el-input>
                                                                                        <el-input
                                                                                            v-model="state.formDataconfig1.locationZ"
                                                                                            oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                                            <template #prefix>
                                                                                                <span>Z</span>
                                                                                            </template>
                                                                                        </el-input>
                                                                                    </div>
                                                                                </el-form-item>
                                                                            </el-col>
                                                                            <el-col :span="24">
                                                                                <el-form-item>
                                                                                    <div class="fec w100">
                                                                                        <el-button
                                                                                            @click="cancelConfigClick">
                                                                                            取消
                                                                                        </el-button>
                                                                                        <el-button type="primary"
                                                                                            @click="onSubmitConfigClick1">
                                                                                            确定
                                                                                        </el-button>
                                                                                    </div>
                                                                                </el-form-item>
                                                                            </el-col>
                                                                        </el-row>
                                                                    </el-form>
                                                                </div>
                                                            </template>
                                                        </vxe-modal>
                                                    </teleport>
                                                    <div v-if="state.activeNamePoint == 4">
                                                        <el-row :gutter="20">
                                                            <el-col :span="8" v-if="item.cutArea!=null">
                                                                <el-form-item label="断电区域"
                                                                    :prop="`multiplePointBranchList[${index}]cutArea[areaIdList]`"
                                                                    :rules="state.rules1.field_mulcutAreaareaIdList">
                                                                    <el-cascader class="w100"
                                                                        v-model="item.cutArea.areaIdList"
                                                                        :options="state.searchTreeList" clearable
                                                                        :props="{  children: 'childList',value: 'id', label: 'areaName',emitPath:false,multiple:true}" />
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="8">
                                                                <el-form-item label="断电值≥"
                                                                    :prop="`multiplePointBranchList[${index}]cutArea[cutValue]`"
                                                                    :rules="state.rules1.field_mulcutAreacutValue">
                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.cutArea.cutValue"
                                                                        placeholder="请输入">
                                                                    </el-input>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="8">
                                                                <el-form-item label="复电值＜"
                                                                    :prop="`multiplePointBranchList[${index}]cutArea[resumeValue]`"
                                                                    :rules="state.rules1.field_mulcutArearesumeValue">
                                                                    <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                        v-model="item.cutArea.resumeValue"
                                                                        placeholder="请输入">
                                                                    </el-input>
                                                                </el-form-item>
                                                            </el-col>
                                                        </el-row>
                                                    </div>
                                                </el-col>
                                            </el-row>
                                        </el-tab-pane>
                                    </el-tabs>
                                </div>
                            </div>
                            <!-- 普通测点 -->
                            <div v-if="state.formData1.pointType == 1 || state.formData1.pointType == 3">
                                <el-row :gutter="20">
                                    <el-col :span="24" v-if="state.baohanD!='S'">
                                        <p class="activeNameTab" style="padding-left:10px;">
                                            <span v-for="item in state.pointactiveNameList" :key="item.type"
                                                @click="ponitactiveNameTabClick(item.type)">
                                                <span v-if="state.baohanD=='D'">
                                                    <span v-if="state.formData1.needGrandalarm">
                                                        <span class="span"
                                                            :class="state.activeNamePoint ==item.type ? 'active':''"
                                                            v-if="item.type!=4">{{ item.name }}</span>
                                                    </span>
                                                    <span v-else>
                                                        <span class="span"
                                                            :class="state.activeNamePoint ==item.type ? 'active':''"
                                                            v-if="item.type!=4 && item.type!=2">{{ item.name }}</span>
                                                    </span>
                                                </span>
                                                <span v-else>
                                                    <span v-if="state.formData1.needGrandalarm">
                                                        <span class="span"
                                                            :class="state.activeNamePoint ==item.type ? 'active':''">{{ item.name }}</span>
                                                    </span>
                                                    <span v-else>
                                                        <span class="span"
                                                            :class="state.activeNamePoint ==item.type ? 'active':''"
                                                            v-if="item.type!=2">{{ item.name }}</span>
                                                    </span>
                                                </span>
                                            </span>
                                        </p>
                                    </el-col>
                                    <el-col :span="24" v-if="state.baohanD!='S'">
                                        <div class="desc_box" v-if="state.activeNamePoint == 1">
                                            <el-row :gutter="20">
                                                <el-col :span="6">
                                                    <el-form-item label="报警模式" prop="alarmBasic.alarmType">
                                                        <el-select class="w100" clearable filterable
                                                            v-model="state.formData1.alarmBasic.alarmType"
                                                            placeholder="请选择">
                                                            <el-option v-for="item in state.alarmBasicList"
                                                                :key="item.code" :label="item.name+'报警'"
                                                                :value="item.code">
                                                            </el-option>
                                                        </el-select>
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="16">
                                                    <el-form-item label="上限报警值" prop="alarmBasic.alarmType1"
                                                        v-if="(state.formData1.alarmBasic.alarmType ==1 || state.formData1.alarmBasic.alarmType ==3)&&state.baohanD!='D'">
                                                        <div class="fbc">
                                                            <el-row :gutter="20">
                                                                <el-col :span="12">
                                                                    <div class="fac">
                                                                        <span class="wn">报警值≥ </span>
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '').replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1').replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1').replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1').replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="state.formData1.alarmBasic.upAlarmValue"
                                                                            placeholder="报警值≥">
                                                                        </el-input>
                                                                    </div>
                                                                </el-col>
                                                                <el-col :span="12">
                                                                    <div class="fac">
                                                                        <span class="wn">解报值＜ </span>
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="state.formData1.alarmBasic.upRelieveValue"
                                                                            placeholder="解报值＜">
                                                                        </el-input>
                                                                    </div>
                                                                </el-col>
                                                            </el-row>
                                                        </div>
                                                    </el-form-item>
                                                    <el-form-item label="下限报警值" prop="alarmBasic.alarmType2"
                                                        v-if="(state.formData1.alarmBasic.alarmType ==2 || state.formData1.alarmBasic.alarmType ==3)&&state.baohanD!='D'">
                                                        <div class="fbc">
                                                            <el-row :gutter="20">
                                                                <el-col :span="12">
                                                                    <div class="fac">
                                                                        <span class="wn">报警值≤</span>
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="state.formData1.alarmBasic.downAlarmValue"
                                                                            placeholder="报警值≤">
                                                                        </el-input>
                                                                    </div>
                                                                </el-col>
                                                                <el-col :span="12">
                                                                    <div class="fac">
                                                                        <span class="wn">解报值＞</span>
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="state.formData1.alarmBasic.downRelieveValue"
                                                                            placeholder="解报值＞">
                                                                        </el-input>
                                                                    </div>
                                                                </el-col>
                                                            </el-row>
                                                        </div>
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="8">
                                                    <el-form-item label="" prop="hasPreAlarm" label-position="left">
                                                        <span>预报警</span>
                                                        <el-switch style="margin:0 5px;"
                                                            v-model="state.formData1.prealarmBasic.hasPreAlarm">
                                                        </el-switch>
                                                        <el-button link type="primary" size="small"
                                                            @click="hasPreAlarmdescClick">
                                                            全部详情
                                                        </el-button>
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="16"></el-col>
                                                <el-col :span="6"
                                                    v-if="state.baohanD!='D' && state.formData1.prealarmBasic.hasPreAlarm">
                                                    <el-form-item label="上限预报值" prop="prealarmBasic.upPrealarmValue">
                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                            v-model="state.formData1.prealarmBasic.upPrealarmValue"
                                                            placeholder="请输入">
                                                        </el-input>
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="6"
                                                    v-if="state.baohanD!='D'&&state.formData1.prealarmBasic.hasPreAlarm">
                                                    <el-form-item label="下限预报值" prop="prealarmBasic.downPrealarmValue">
                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                            v-model="state.formData1.prealarmBasic.downPrealarmValue"
                                                            placeholder="请输入"
                                                            :disabled="!state.formData1.prealarmBasic.hasPreAlarm">
                                                        </el-input>
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="12"
                                                    v-if="state.baohanD=='D'&&state.formData1.prealarmBasic.hasPreAlarm">
                                                    <el-row :gutter="20">
                                                        <el-col :span="12" style="margin-top:16px;">
                                                            <el-radio-group
                                                                v-model="state.formData1.prealarmBasic.prealarmType"
                                                                class="fbc">
                                                                <el-radio v-show="item.code!=0" :label="item.code"
                                                                    v-for="item in state.alarmBasicList">
                                                                    {{item.name+'报警'}}</el-radio>
                                                            </el-radio-group>
                                                        </el-col>
                                                    </el-row>
                                                </el-col>
                                                <el-col :span="6" v-if="state.formData1.prealarmBasic.hasPreAlarm">
                                                    <el-form-item label="超时" prop="prealarmTimeout">
                                                        <span class="fac">
                                                            <el-select clearable filterable
                                                                v-model="state.formData1.prealarmBasic.prealarmTimeout"
                                                                placeholder="请选择">
                                                                <el-option v-for="item in state.prealarmTimeoutData"
                                                                    :key="item" :label="item+'分钟'" :value="item">
                                                                </el-option>
                                                            </el-select>
                                                            <span class="wn">分钟</span>
                                                        </span>
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="24" v-if="state.baohanD!='D'">
                                                    <el-form-item label="" prop="hasConstantPreAlarm">
                                                        <span>恒值预报警</span>
                                                        <el-switch style="margin:0 5px;"
                                                            v-model="state.formData1.prealarmBasic.hasConstantPreAlarm">
                                                        </el-switch>
                                                        <el-button link type="primary" size="small"
                                                            @click="hasConstantPreAlarmdescClick">
                                                            全部详情
                                                        </el-button>
                                                    </el-form-item>
                                                </el-col>

                                                <el-col :span="8"
                                                    v-if="state.baohanD!='D' && state.formData1.prealarmBasic.hasConstantPreAlarm">
                                                    <el-form-item label="恒值持续时间" prop="prealarmBasic.constantTime">
                                                        <span class="fac">
                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                v-model="state.formData1.prealarmBasic.constantTime"
                                                                placeholder="请输入">
                                                            </el-input>
                                                            <span class="wn">分钟</span>
                                                        </span>
                                                    </el-form-item>
                                                </el-col>
                                            </el-row>
                                        </div>
                                        <!-- 预报警全部详情弹框 -->
                                        <teleport to="body">
                                            <vxe-modal esc-closable destroy-on-close :lock-view="false" :width="1000"
                                                :height="500" v-model="state.addModalhasPreAlarm" resize :mask="true">
                                                <template #title>
                                                    <div class="w100 h100 fsc mask_title">预报警全部详情</div>
                                                </template>
                                                <template #default>
                                                    <el-row :gutter="20" style="margin:10px 0">
                                                        <el-col :span="8">
                                                            <span class="wn marr5">设备名称</span>
                                                            <el-tree-select clearable
                                                                v-model="state.hasPreAlarmData.condition"
                                                                :data="state.hasPreAlarmData.selList" placeholder="请选择"
                                                                highlight-current
                                                                :props="{  children: 'children',value: 'code', label: 'name'}"
                                                                check-strictly @change="chuangantreeChange1" />
                                                        </el-col>
                                                        <el-col :span="8">
                                                            <el-button class="marl20" type="primary"
                                                                @click="yinyonClick">查询
                                                            </el-button>
                                                            <el-button type="info" @click="cancelyinyonClick">重置
                                                            </el-button>
                                                        </el-col>
                                                    </el-row>
                                                    <vxe-table height="400" :data="state.hasPreAlarmData.tabledata"
                                                        border="inner">
                                                        <vxe-column
                                                            v-for="(item,index) in state.hasPreAlarmData.tableheads"
                                                            :field="item.field" :title="item.title"
                                                            :params="{name:item.name}" :width="item.width?item.width:''"
                                                            :key="index">
                                                        </vxe-column>
                                                        <vxe-column title="操作">
                                                            <template #default="{row}">
                                                                <el-button link type="primary"
                                                                    @click="yubaojingConfigClick(row)">配置</el-button>
                                                            </template>
                                                        </vxe-column>
                                                    </vxe-table>
                                                    <vxe-pager v-if="state.hasPreAlarmData.total>0"
                                                        @page-change="hasPreAlarmpagechange" :background="false"
                                                        class="allbk" align="right"
                                                        :layouts="['PrevJump', 'PrevPage', 'JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
                                                        v-model:current-page="state.hasPreAlarmData.query.pageNum"
                                                        v-model:page-size="state.hasPreAlarmData.query.pageSize"
                                                        :total="state.hasPreAlarmData.total">
                                                    </vxe-pager>
                                                </template>
                                            </vxe-modal>
                                        </teleport>
                                        <!-- 恒值预报警全部详情弹框 -->
                                        <teleport to="body">
                                            <vxe-modal esc-closable destroy-on-close :lock-view="false" :width="1000"
                                                :height="500" v-model="state.addModalhasConstantPreAlarm" resize
                                                :mask="true">
                                                <template #title>
                                                    <div class="w100 h100 fsc mask_title">恒值预报警全部详情</div>
                                                </template>
                                                <template #default>
                                                    <el-row :gutter="20" style="margin:10px 0">
                                                        <el-col :span="8">
                                                            <span class="wn marr5">设备名称</span>
                                                            <el-tree-select clearable
                                                                v-model="state.hasConstantPreAlarmData.condition"
                                                                :data="state.hasConstantPreAlarmData.selList"
                                                                placeholder="请选择" highlight-current
                                                                :props="{  children: 'children',value: 'code', label: 'name'}"
                                                                check-strictly @change="chuangantreeChange2" />
                                                        </el-col>
                                                        <el-col :span="8">
                                                            <el-button class="marl20" type="primary"
                                                                @click="yinyonClick1">
                                                                查询
                                                            </el-button>
                                                            <el-button type="info" @click="cancelyinyonClick1">重置
                                                            </el-button>
                                                        </el-col>
                                                    </el-row>
                                                    <vxe-table height="400"
                                                        :data="state.hasConstantPreAlarmData.tabledata" border="inner">
                                                        <vxe-column
                                                            v-for="(item,index) in state.hasConstantPreAlarmData.tableheads"
                                                            :field="item.field" :title="item.title"
                                                            :params="{name:item.name}" :width="item.width?item.width:''"
                                                            :key="index">
                                                        </vxe-column>
                                                        <vxe-column title="操作">
                                                            <template #default="{row}">
                                                                <el-button link type="primary"
                                                                    @click="hengbaojingConfigClick(row)">配置</el-button>
                                                            </template>
                                                        </vxe-column>
                                                    </vxe-table>
                                                    <vxe-pager v-if="state.hasConstantPreAlarmData.total>0"
                                                        @page-change="hasConstantPreAlarmpagechange" :background="false"
                                                        class="allbk" align="right"
                                                        :layouts="['PrevJump', 'PrevPage', 'JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
                                                        v-model:current-page="state.hasConstantPreAlarmData.query.pageNum"
                                                        v-model:page-size="state.hasConstantPreAlarmData.query.pageSize"
                                                        :total="state.hasConstantPreAlarmData.total">
                                                    </vxe-pager>
                                                </template>
                                            </vxe-modal>
                                        </teleport>
                                        <!-- 分级配置 -->
                                        <div class="desc_box" v-if="state.activeNamePoint == 2">
                                            <el-row :gutter="20">
                                                <el-col :span="6">
                                                    <el-form-item :label="state.baohanD == 'D'?'分级报警':'上限分级报警'"
                                                        prop="hasUpGrandAlarm">
                                                        <el-switch v-model="state.formData1.hasUpGrandAlarm"
                                                            @change="hasUpGrandAlarmChange" />
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="6" v-if="state.baohanD != 'D'">
                                                    <el-form-item label="下限分级报警" prop="hasDownGrandAlarm">
                                                        <el-switch v-model="state.formData1.hasDownGrandAlarm"
                                                            @change="hasDownGrandAlarmChange" />
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="6">
                                                    <el-form-item label="启用多级报警" prop="hasMoreGrandAlarm">
                                                        <el-switch v-model="state.formData1.hasMoreGrandAlarm" />
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="6" v-if="state.baohanD != 'D'">
                                                    <el-form-item label="启用涨/跌幅" prop="hasChangeGrandAlarm">
                                                        <el-switch v-model="state.formData1.hasChangeGrandAlarm" />
                                                    </el-form-item>
                                                </el-col>
                                            </el-row>
                                            <el-row
                                                v-if="state.formData1.hasUpGrandAlarm && state.formData1.hasDownGrandAlarm">
                                                <el-radio-group v-model="state.radio1">
                                                    <el-radio-button label="上限分级报警" value="上限分级报警" />
                                                    <el-radio-button label="下限分级报警" value="下限分级报警" />
                                                </el-radio-group>
                                            </el-row>
                                            <el-row :gutter="20" style="margin:0 10px"
                                                v-if="state.radio1=='上限分级报警' && state.formData1.hasUpGrandAlarm">
                                                <el-row :gutter="20" v-if="state.baohanD != 'D'">
                                                    <el-col :span="24" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <p class="drawer_sub_title"
                                                            style="margin-left:0;padding-top:10px;">
                                                            <span>
                                                                变化参数设置</span>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label="变化率判断门限≥"
                                                            prop="upGrandalarmBasic.grandalarmRate.thresholdValue">
                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                v-model="state.formData1.upGrandalarmBasic.grandalarmRate.thresholdValue"
                                                                placeholder="请输入">
                                                                <template #append>{{state.baohanunit}}</template>
                                                            </el-input>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label="变化率持续周期"
                                                            prop="upGrandalarmBasic.grandalarmRate.rateCycle">
                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateCycle"
                                                                placeholder="请输入">
                                                                <template #append>秒</template>
                                                            </el-input>
                                                        </el-form-item>
                                                    </el-col>
                                                </el-row>
                                                <el-row :gutter="20">
                                                    <el-col :span="24" v-if="state.formData1.hasMoreGrandAlarm">
                                                        <el-row :gutter="20">
                                                            <el-col :span="24">
                                                                <p class="pfz">六级报警</p>
                                                            </el-col>
                                                            <el-col :span="8" v-if="state.baohanD != 'D'">
                                                                <el-form-item label=""
                                                                    prop="upGrandalarmBasic.grandsixValue">
                                                                    <div class="fac">
                                                                        <span class="wn">上限预报值≥</span>
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="state.formData1.upGrandalarmBasic.grandsixValue"
                                                                            placeholder="请输入">
                                                                            <template
                                                                                #append>{{state.baohanunit}}</template>
                                                                        </el-input>
                                                                    </div>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="8">
                                                                <el-form-item label=""
                                                                    prop="upGrandalarmBasic.grandsixTime">
                                                                    <div class="fac">
                                                                        <span class="wn"
                                                                            v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="state.formData1.upGrandalarmBasic.grandsixTime"
                                                                            placeholder="请输入">
                                                                            <template #append>分钟</template>
                                                                        </el-input>
                                                                    </div>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="8"
                                                                v-if="state.formData1.hasChangeGrandAlarm">
                                                                <el-form-item label=""
                                                                    prop="upGrandalarmBasic.grandalarmRate.rateSixValue">
                                                                    <div class="fac">
                                                                        <span class="wn">或 跌幅≥</span>
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateSixValue"
                                                                            placeholder="请输入">
                                                                            <template
                                                                                #append>{{state.baohanunit}}</template>
                                                                        </el-input>
                                                                    </div>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="24">
                                                                <p class="pfz">五级报警</p>
                                                            </el-col>
                                                            <el-col :span="8" v-if="state.baohanD != 'D'">
                                                                <el-form-item label=""
                                                                    prop="upGrandalarmBasic.grandfiveValue"
                                                                    v-if="state.formData1.hasMoreGrandAlarm">
                                                                    <div class="fac">
                                                                        <span class="wn">下限预报值≤</span>
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="state.formData1.upGrandalarmBasic.grandfiveValue"
                                                                            placeholder="请输入">
                                                                            <template
                                                                                #append>{{state.baohanunit}}</template>
                                                                        </el-input>
                                                                    </div>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="8">
                                                                <el-form-item label=""
                                                                    prop="upGrandalarmBasic.grandfiveTime">
                                                                    <div class="fac">
                                                                        <span class="wn"
                                                                            v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="state.formData1.upGrandalarmBasic.grandfiveTime"
                                                                            placeholder="请输入">
                                                                            <template #append>分钟</template>
                                                                        </el-input>
                                                                    </div>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="8"
                                                                v-if="state.formData1.hasChangeGrandAlarm">
                                                                <el-form-item label=""
                                                                    prop="upGrandalarmBasic.grandalarmRate.rateFiveValue">
                                                                    <div class="fac">
                                                                        <span class="wn">或 跌幅≥</span>
                                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                            v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue"
                                                                            placeholder="请输入">
                                                                            <template
                                                                                #append>{{state.baohanunit}}</template>
                                                                        </el-input>
                                                                    </div>
                                                                </el-form-item>
                                                            </el-col>
                                                        </el-row>
                                                    </el-col>
                                                    <el-col :span="24">
                                                        <p class="pfz">四级报警</p>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.baohanD != 'D'">
                                                        <el-form-item label="" prop="upGrandalarmBasic.grandfourValue">
                                                            <div class="fac">
                                                                <span class="wn">上限预报值≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandfourValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label="" prop="upGrandalarmBasic.grandfourTime">
                                                            <div class="fac">
                                                                <span class="wn"
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandfourTime"
                                                                    placeholder="请输入">
                                                                    <template #append>分钟</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label=""
                                                            prop="upGrandalarmBasic.grandalarmRate.rateFourValue">
                                                            <div class="fac">
                                                                <span class="wn">或 涨幅≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="24">
                                                        <p class="pfz">三级报警</p>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.baohanD != 'D'">
                                                        <el-form-item label="" prop="upGrandalarmBasic.grandthreeValue">
                                                            <div class="fac">
                                                                <span class="wn">上限预报值≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandthreeValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label="" prop="upGrandalarmBasic.grandthreeTime">
                                                            <div class="fac">
                                                                <span class="wn"
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandthreeTime"
                                                                    placeholder="请输入">
                                                                    <template #append>分钟</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label=""
                                                            prop="upGrandalarmBasic.grandalarmRate.rateThreeValue">
                                                            <div class="fac">
                                                                <span class="wn">或 涨幅≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="24">
                                                        <p class="pfz">二级报警</p>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.baohanD != 'D'">
                                                        <el-form-item label="" prop="upGrandalarmBasic.grandtwoValue">
                                                            <div class="fac">
                                                                <span class="wn">上限预报值≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandtwoValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item prop="upGrandalarmBasic.grandtwoTime">
                                                            <div class="fac">
                                                                <span class="wn"
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandtwoTime"
                                                                    placeholder="请输入">
                                                                    <template #append>分钟</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item
                                                            prop="upGrandalarmBasic.grandalarmRate.rateTwoValue">
                                                            <div class="fac">
                                                                <span class="wn">或 涨幅≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="24">
                                                        <p class="pfz">一级报警</p>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.baohanD != 'D'">
                                                        <el-form-item label="" prop="upGrandalarmBasic.grandoneValue">
                                                            <div class="fac">
                                                                <span class="wn">上限预报值≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandoneValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item prop="upGrandalarmBasic.grandoneTime">
                                                            <div class="fac">
                                                                <span class="wn"
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandoneTime"
                                                                    placeholder="请输入">
                                                                    <template #append>分钟</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item
                                                            prop="upGrandalarmBasic.grandalarmRate.rateOneValue">
                                                            <div class="fac">
                                                                <span class="wn">或 涨幅≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateOneValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                </el-row>
                                            </el-row>
                                            <el-row :gutter="20" style="margin:0 10px"
                                                v-if="state.radio1=='下限分级报警' && state.formData1.hasDownGrandAlarm">
                                                <el-row :gutter="20">
                                                    <el-col :span="24" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <p class="drawer_sub_title"
                                                            style="margin-left:0;padding-top:10px;">
                                                            <span>
                                                                变化参数设置</span>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label="变化率判断门限≤"
                                                            prop="downGrandalarmBasic.grandalarmRate.thresholdValue">
                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                v-model="state.formData1.downGrandalarmBasic.grandalarmRate.thresholdValue"
                                                                placeholder="请输入">
                                                                <template #append>{{state.baohanunit}}</template>
                                                            </el-input>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label="变化率持续周期"
                                                            prop="downGrandalarmBasic.grandalarmRate.rateCycle">
                                                            <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateCycle"
                                                                placeholder="请输入">
                                                                <template #append>秒</template>
                                                            </el-input>
                                                        </el-form-item>
                                                    </el-col>
                                                </el-row>
                                                <el-row :gutter="20" v-if="state.formData1.hasMoreGrandAlarm">
                                                    <el-col :span="24">
                                                        <p class="pfz">六级报警</p>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label="" prop="downGrandalarmBasic.grandsixValue">
                                                            <div class="fac">
                                                                <span class="wn">下限预报值≤</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandsixValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label="" prop="downGrandalarmBasic.grandsixTime">
                                                            <div class="fac">
                                                                <span class="wn">或 持续时间≤</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandsixTime"
                                                                    placeholder="请输入">
                                                                    <template #append>分钟</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label=""
                                                            prop="downGrandalarmBasic.grandalarmRate.rateSixValue">
                                                            <div class="fac">
                                                                <span class="wn">或 跌幅≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateSixValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="24">
                                                        <p class="pfz">五级报警</p>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label="" prop="downGrandalarmBasic.grandfiveValue"
                                                            v-if="state.formData1.hasMoreGrandAlarm">
                                                            <div class="fac">
                                                                <span class="wn">下限预报值≤</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandfiveValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label="" prop="downGrandalarmBasic.grandfiveTime">
                                                            <div class="fac">
                                                                <span class="wn">或 持续时间≤</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandfiveTime"
                                                                    placeholder="请输入">
                                                                    <template #append>分钟</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label=""
                                                            prop="downGrandalarmBasic.grandalarmRate.rateFiveValue">
                                                            <div class="fac">
                                                                <span class="wn">或 跌幅≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateFiveValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                </el-row>
                                                <el-row :gutter="20">
                                                    <el-col :span="24">
                                                        <p class="pfz">四级报警</p>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label=""
                                                            prop="downGrandalarmBasic.grandfourValue">
                                                            <div class="fac">
                                                                <span class="wn">下限预报值≤</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandfourValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label="" prop="downGrandalarmBasic.grandfourTime">
                                                            <div class="fac">
                                                                <span class="wn">或 持续时间≤</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandfourTime"
                                                                    placeholder="请输入">
                                                                    <template #append>分钟</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label=""
                                                            prop="downGrandalarmBasic.grandalarmRate.rateFourValue">
                                                            <div class="fac">
                                                                <span class="wn">或 跌幅≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="24">
                                                        <p class="pfz">三级报警</p>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label=""
                                                            prop="downGrandalarmBasic.grandthreeValue">
                                                            <div class="fac">
                                                                <span class="wn">下限预报值≤</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandthreeValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label=""
                                                            prop="downGrandalarmBasic.grandthreeTime">
                                                            <div class="fac">
                                                                <span class="wn">或 持续时间≤</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandthreeTime"
                                                                    placeholder="请输入">
                                                                    <template #append>分钟</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label=""
                                                            prop="downGrandalarmBasic.grandalarmRate.rateThreeValue">
                                                            <div class="fac">
                                                                <span class="wn">或 跌幅≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="24">
                                                        <p class="pfz">二级报警</p>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label="" prop="downGrandalarmBasic.grandtwoValue">
                                                            <div class="fac">
                                                                <span class="wn">下限预报值≤</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandtwoValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label="" prop="downGrandalarmBasic.grandtwoTime">
                                                            <div class="fac">
                                                                <span class="wn">或 持续时间≤</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandtwoTime"
                                                                    placeholder="请输入">
                                                                    <template #append>分钟</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label=""
                                                            prop="downGrandalarmBasic.grandalarmRate.rateTwoValue">
                                                            <div class="fac">
                                                                <span class="wn">或 跌幅≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateTwoValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="24">
                                                        <p class="pfz">一级报警</p>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label="" prop="downGrandalarmBasic.grandoneValue">
                                                            <div class="fac">
                                                                <span class="wn">下限预报值≤</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandoneValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <el-form-item label="" prop="downGrandalarmBasic.grandoneTime">
                                                            <div class="fac">
                                                                <span class="wn">或 持续时间></span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandoneTime"
                                                                    placeholder="请输入">
                                                                    <template #append>分钟</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                        <el-form-item label=""
                                                            prop="downGrandalarmBasic.grandalarmRate.rateOneValue">
                                                            <div class="fac">
                                                                <span class="wn">或 跌幅≥</span>
                                                                <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
    '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
    .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
    .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                    v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateOneValue"
                                                                    placeholder="请输入">
                                                                    <template #append>{{state.baohanunit}}</template>
                                                                </el-input>
                                                            </div>
                                                        </el-form-item>
                                                    </el-col>
                                                </el-row>
                                            </el-row>
                                        </div>
                                        <!-- 普通断电 -->
                                        <div class="desc_box putongClass" v-if="state.activeNamePoint == 3">
                                            <div style="position: relative;min-height:50px;">
                                                <el-button
                                                    style="position: absolute;top: 10px;right:20px;z-index: 2;cursor: pointer;"
                                                    link type="primary" @click="putongAddClick">
                                                    <el-icon>
                                                        <Plus />
                                                    </el-icon>新增
                                                </el-button>
                                                <el-tabs v-model="state.ordintranValue" type="card" class="demo-tabs"
                                                    v-if="state.formData1.cutValueList!=null"
                                                    :closable="state.formData1.cutValueList.length==1?false:true"
                                                    @tab-remove="removeTab">
                                                    <el-tab-pane v-for="(item,index) in state.formData1.cutValueList"
                                                        :key="(index+1)" :label="'断电配置'+(index+1)" :name="index">
                                                        <el-row :gutter="20" style="margin-top:10px;">
                                                            <el-col :span="6">
                                                                <el-form-item label="断电模式"
                                                                    :prop="`cutValueList[${index}][cutType]`"
                                                                    :rules="state.rules1.field_cutType">
                                                                    <el-select clearable filterable
                                                                        v-model="item.cutType" placeholder="请选择"
                                                                        @change="cutTypeChange">
                                                                        <el-option v-for="item in state.cutTypeList"
                                                                            :key="item.code" :label="item.name+'断电'"
                                                                            :value="item.code">
                                                                        </el-option>
                                                                    </el-select>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="6"
                                                                v-if="item.cutType ==1&&state.baohanD!='D'">
                                                                <el-form-item label="断电值≥"
                                                                    :prop="`cutValueList[${index}][cutValue]`"
                                                                    :rules="state.rules1.field_cutValue">
                                                                    <el-input v-model="item.cutValue" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" placeholder="请输入">
                                                                    </el-input>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="6"
                                                                v-if="item.cutType ==1&&state.baohanD!='D'">
                                                                <el-form-item label="复电值＜"
                                                                    :prop="`cutValueList[${index}][resumeValue]`"
                                                                    :rules="state.rules1.field_resumeValue">
                                                                    <el-input v-model="item.resumeValue" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" placeholder="请输入">
                                                                    </el-input>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="6"
                                                                v-if="item.cutType ==2&&state.baohanD!='D'">
                                                                <el-form-item label="断电值≤"
                                                                    :prop="`cutValueList[${index}][cutValue]`"
                                                                    :rules="state.rules1.field_cutValue">
                                                                    <el-input v-model="item.cutValue" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" placeholder="请输入">
                                                                    </el-input>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="6"
                                                                v-if="item.cutType ==2&&state.baohanD!='D'">
                                                                <el-form-item label="复电值＞"
                                                                    :prop="`cutValueList[${index}][resumeValue]`"
                                                                    :rules="state.rules1.field_resumeValue">
                                                                    <el-input v-model="item.resumeValue" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" placeholder="请输入">
                                                                    </el-input>
                                                                </el-form-item>
                                                            </el-col>
                                                            <el-col :span="6">
                                                                <el-button link type="primary" style="margin-top:35px;"
                                                                    @click="addcutdeviceClick">
                                                                    <el-icon>
                                                                        <Plus />
                                                                    </el-icon>断电设备
                                                                </el-button>
                                                            </el-col>
                                                            <el-col :span="24" style="padding:10px;">
                                                                <el-collapse v-model="state.collapseAtive" accordion>
                                                                    <el-collapse-item :name="index2"
                                                                        v-for="(item2,index2) in item.cutStationList">
                                                                        <template #title>
                                                                            <div class="fbc w100" @click="stopCollapse">
                                                                                <span style="padding-top:22px;">
                                                                                    <el-form-item label=""
                                                                                        :prop="`cutValueList[${index}]cutStationList[${index2}][stationPlaceName]`"
                                                                                        :rules="state.rules1.field_stationPlaceName">
                                                                                        <span>分站</span>
                                                                                        <el-select clearable filterable
                                                                                            v-model="item2.stationCode"
                                                                                            placeholder="请选择"
                                                                                            @change="controlPortChange($event,index2)">
                                                                                            <el-option
                                                                                                v-for="item in state.stationPlaceNamList"
                                                                                                :key="item.stationCode"
                                                                                                :label="item.stationCode+'-'+item.stationPlaceName"
                                                                                                :value="item.stationCode">
                                                                                            </el-option>
                                                                                        </el-select>
                                                                                        <svg-icon
                                                                                            class-name="search-icon"
                                                                                            icon-class="delkong"
                                                                                            @click.stop="fenzhankong(index2)" />
                                                                                    </el-form-item>
                                                                                </span>
                                                                            </div>
                                                                        </template>
                                                                        <div style="margin-top: 10px;">
                                                                            <vxe-table border ref="tableRef55"
                                                                                :data="item2.controlPortList"
                                                                                :checkbox-config="checkboxConfig"
                                                                                @checkbox-change="selectChangeEvent"
                                                                                :row-config="{isCurrent:true,keyField:'controlPort'}">
                                                                                <vxe-column type="checkbox" width="60">
                                                                                </vxe-column>
                                                                                <vxe-column field="controlPort"
                                                                                    title="开出口号">
                                                                                </vxe-column>
                                                                                <vxe-column field="controlPortType"
                                                                                    title="控制设备">
                                                                                    <template #default="{row}">
                                                                                        <span
                                                                                            v-if="row.controlPortType== 1">断电仪</span>
                                                                                        <span v-else>声光报警</span>
                                                                                    </template>
                                                                                </vxe-column>
                                                                                <vxe-column field="pointPlaceName"
                                                                                    title="安装地点">
                                                                                </vxe-column>
                                                                                <vxe-column field="feedPointId"
                                                                                    title="馈电测点">
                                                                                </vxe-column>
                                                                                <vxe-column field="feedSensorName"
                                                                                    title="馈电设备">
                                                                                </vxe-column>
                                                                                <vxe-column title="配置">
                                                                                    <template #default="{row}">
                                                                                        <el-button
                                                                                            @click="pointputongConfigClick(row)"
                                                                                            link type="primary">配置
                                                                                        </el-button>
                                                                                    </template>
                                                                                </vxe-column>
                                                                            </vxe-table>
                                                                        </div>
                                                                    </el-collapse-item>
                                                                </el-collapse>
                                                            </el-col>
                                                        </el-row>
                                                    </el-tab-pane>
                                                </el-tabs>
                                            </div>
                                        </div>
                                        <!-- 配置弹框 -->
                                        <teleport to="body">
                                            <vxe-modal esc-closable destroy-on-close :lock-view="false" :width="500"
                                                :height="500" v-model="state.addModalconfig" resize :mask="true">
                                                <template #title>
                                                    <div class="w100 h100 fsc mask_title">配置开出口</div>
                                                </template>
                                                <template #default>
                                                    <div class="form_box">
                                                        <el-form ref="formRefconfig" :model="state.formDataconfig"
                                                            :rules="state.rulesconfig" label-position="top">
                                                            <el-row :gutter="20">
                                                                <el-col :span="12">
                                                                    <el-form-item label="开出口编号" prop="controlPort">
                                                                        <el-select disabled clearable filterable
                                                                            v-model="state.formDataconfig.controlPort"
                                                                            placeholder="请选择">
                                                                            <el-option
                                                                                v-for="item in state.stationmodelList"
                                                                                :key="item.id"
                                                                                :label="item.stationModelName"
                                                                                :value="item.id">
                                                                            </el-option>
                                                                        </el-select>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="12">
                                                                    <el-form-item label="控制设备" prop="controlPortType">
                                                                        <el-select class="w100" clearable filterable
                                                                            v-model="state.formDataconfig.controlPortType"
                                                                            placeholder="请选择"
                                                                            @change="controlPortTypeChange">
                                                                            <el-option
                                                                                v-for="item in state.controlPortTypeList"
                                                                                :key="item.code" :label="item.name"
                                                                                :value="item.code">
                                                                            </el-option>
                                                                        </el-select>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="24">
                                                                    <el-form-item label="安装地点" prop="pointPlaceName">
                                                                        <el-select class="w100" clearable filterable
                                                                            allow-create
                                                                            v-model="state.formDataconfig.pointPlaceName"
                                                                            placeholder="请选择">
                                                                            <el-option
                                                                                v-for="item in state.addressInfoList"
                                                                                :key="item.id" :label="item.placeName"
                                                                                :value="item.placeName">
                                                                            </el-option>
                                                                        </el-select>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="24"
                                                                    v-if="state.formDataconfig.controlPortType==1">
                                                                    <el-form-item label="馈电测点" prop="feedPointId">
                                                                        <el-select class="w100" clearable filterable
                                                                            allow-create
                                                                            v-model="state.formDataconfig.feedPointId"
                                                                            placeholder="请选择"
                                                                            @change="feedPointIdChange">
                                                                            <el-option
                                                                                v-for="item in state.feedPointIdList"
                                                                                :key="item.pointId"
                                                                                :label="item.pointId+'/'+item.sensorName+'/'+item.pointPlaceName"
                                                                                :value="item.pointId">
                                                                            </el-option>
                                                                        </el-select>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="24">
                                                                    <el-form-item label="地理位置">
                                                                        <div class="fbc">
                                                                            <el-input
                                                                                v-model="state.formDataconfig.locationX"
                                                                                oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                                <template #prefix>
                                                                                    <span>X</span>
                                                                                </template>
                                                                            </el-input>
                                                                            <el-input
                                                                                v-model="state.formDataconfig.locationY"
                                                                                oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                                <template #prefix>
                                                                                    <span>Y</span>
                                                                                </template>
                                                                            </el-input>
                                                                            <el-input
                                                                                v-model="state.formDataconfig.locationZ"
                                                                                oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                                <template #prefix>
                                                                                    <span>Z</span>
                                                                                </template>
                                                                            </el-input>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                                <el-col :span="24">
                                                                    <el-form-item>
                                                                        <div class="fec w100">
                                                                            <el-button @click="cancelConfigClick">取消
                                                                            </el-button>
                                                                            <el-button type="primary"
                                                                                @click="onSubmitConfigClick">确定
                                                                            </el-button>
                                                                        </div>
                                                                    </el-form-item>
                                                                </el-col>
                                                            </el-row>
                                                        </el-form>
                                                    </div>
                                                </template>
                                            </vxe-modal>
                                        </teleport>
                                        <div class="desc_box" v-if="state.activeNamePoint == 4">
                                            <el-row :gutter="20">
                                                <el-col :span="8">
                                                    <el-form-item label="断电区域" prop="cutArea.areaIdList">
                                                        <el-cascader class="w100"
                                                            v-model="state.formData1.cutArea.areaIdList"
                                                            :options="state.searchTreeList" clearable
                                                            :props="{  children: 'childList',value: 'id', label: 'areaName',emitPath:false,multiple:true}" />
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="8">
                                                    <el-form-item :label="state.baohanD!='D'?'断电值':'断电值≥'"
                                                        prop="cutArea.cutValue">
                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                            v-model="state.formData1.cutArea.cutValue"
                                                            placeholder="请输入">
                                                        </el-input>
                                                    </el-form-item>
                                                </el-col>
                                                <el-col :span="8">
                                                    <el-form-item :label="state.baohanD!='D'?'复电值':'复电值＜'"
                                                        prop="cutArea.resumeValue">
                                                        <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                            v-model="state.formData1.cutArea.resumeValue"
                                                            placeholder="请输入">
                                                        </el-input>
                                                    </el-form-item>
                                                </el-col>
                                            </el-row>
                                        </div>
                                    </el-col>
                                </el-row>
                            </div>
                        </el-form>
                    </div>
                    <div class="footer_card fbc">
                        <div>
                            <el-button class="btn" type="danger" v-if="state.editpointId" plain @click="delpointClick">
                                删除节点</el-button>
                        </div>
                        <div>
                            <el-button class="btn" type="info" @click="cancelpointClick">取消</el-button>
                            <el-button class="btn" type="primary" @click="addpointClick">确定</el-button>
                        </div>
                    </div>
                </el-col>
                <!-- 新增表达式模板 -->
                <teleport to="body">
                    <vxe-modal esc-closable destroy-on-close :lock-view="false" :width="848" :height="auto"
                        v-model="state.addtemModal" resize :mask="true">
                        <template #title>
                            <div class="w100 h100 fsc mask_title">新增模板</div>
                        </template>
                        <template #default>
                            <el-row :gutter="20" style="margin-left:10px;margin-right:10px;">
                                <temconfigCom :mobanType="state.mobanType" @addModal="addtemModalcancel">
                                    <template v-slot:formtemDatatype>
                                        <el-form-item label="模板类型" style="margin-right:20px">
                                            <el-select v-model="state.mobanType" placeholder="请选择" clearable
                                                @change="mobanTypeChange">
                                                <el-option v-for="dict in state.conditionList1" :key="dict.code"
                                                    :label="dict.name" :value="dict.code" />
                                            </el-select>
                                        </el-form-item>
                                    </template>
                                </temconfigCom>
                            </el-row>
                        </template>
                    </vxe-modal>
                </teleport>
                <!-- 测点详情 -->
                <el-col :span="19" v-if="state.addShowdetailPoint ==true">
                    <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                        <div class="title_r_box">
                            <p class="p_btn">
                                <oneclickDelivery></oneclickDelivery>
                            </p>
                            <p class="title_r fbc">
                                <span>
                                    <span class="fz16 hover"
                                        @click="stationBtndesc(state.formData1.stationCode)">分站信息</span>
                                    <span class="fz16 active">测点信息</span>
                                </span>
                                <span>
                                    <el-button link size="small" type="primary" @click="editstationPointBtn('',1)">
                                        <svg-icon class-name="search-icon" icon-class="editponit" />编辑</el-button>
                                    <el-button link size="small" type="primary"
                                        @click.stop="deletetreepoint(state.datatreeId)">
                                        <svg-icon class-name="search-icon" icon-class="delpoint" />删除
                                    </el-button>
                                </span>
                            </p>
                        </div>
                        <div class="formBox">
                            <div class="desc_box">
                                <p class="drawer_sub_title">
                                    <span>
                                        <svg-icon class-name="search-icon" icon-class="map" />
                                        {{state.formData1.pointPlaceName}}</span>
                                </p>
                                <el-row :gutter="20" class="el-drawer_mash">
                                    <el-col :span="6">
                                        <div style="text-align:center;margin-top:10%;">
                                            <div style="position:relative;">
                                                <img v-if="state.formData1.sensorImagePath"
                                                    style="width:80px;height:80px"
                                                    :src="state.formData1.sensorImagePath" alt="" />
                                                <img v-else src="@/assets/images/noimg.png" />
                                                <span style="position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);
                                                font-size:12px;background-color:rgba(103, 194, 58, 1);padding:2px 4px;
                                                border-radius:4px;color:#fff;font-weight:700;"
                                                    v-if="state.formData1.pointStatus == 0">{{state.formData1.pointStatusName }}</span>
                                            </div>
                                            <p style="font-weight:700;font-size:14px">
                                                {{state.formData1.sensorName}}<span
                                                    v-if="state.formData1.pointType == 1">【{{ state.formData1.scale }}】</span>
                                            </p>
                                            <p style="font-size:14px"><span>{{state.formData1.pointVersion}}</span>
                                                <el-button size="small" type="primary" link>发现新版本
                                                    <svg-icon class-name="search-icon" icon-class="upload" />
                                                </el-button>
                                            </p>
                                        </div>
                                    </el-col>
                                    <el-col v-if="state.mulpointTypeName != '多参'" :span="18" class="el-drawer_desc">
                                        <el-row :gutter="20">
                                            <el-col :span="8">
                                                <p>测点编号</p>
                                                <p>{{state.formData1.pointId}}</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>测点类型</p>
                                                <p>{{state.formData1.pointTypeName}}</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>类型</p>
                                                <p v-if="state.baohanD == 'D'">开关量</p>
                                                <p v-else-if="state.baohanD == 'S'">累计量</p>
                                                <p v-else>模拟量</p>
                                            </el-col>
                                            <el-col :span="8" v-if="state.formData1.pointType != 3">
                                                <p>数值</p>
                                                <p><span
                                                        style="color:rgba(103, 194, 58, 1);">{{state.formData1.pointValue}}</span>{{state.formData1.sensorUnit}}
                                                </p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>所属区域</p>
                                                <p>{{state.formData1.pointAreaName}}</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>安装时间</p>
                                                <p>{{state.formData1.createTime}}</p>
                                            </el-col>
                                            <el-col :span="8" v-if="state.formData1.pointType != 3">
                                                <p>设备唯一编号</p>
                                                <p v-if="state.formData1.pointIdentifyingNo!=null">
                                                    {{state.formData1.pointIdentifyingNo}}</p>
                                                <p v-else>-</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>地理位置(X Y Z)</p>
                                                <span class="chaolink"
                                                    v-if="state.formData1.locationX !=null ||  state.formData1.locationY!=null||state.formData1.locationZ!=null">
                                                    {{state.formData1.locationX}},{{state.formData1.locationY}},{{state.formData1.locationZ}}
                                                </span>
                                                <span v-else>-</span>
                                            </el-col>
                                            <el-col :span="24" v-if="state.formData1.needPlaceType">
                                                <p>地点类型</p>
                                                <p v-if="state.formData1.placeTypeName!=null">
                                                    {{state.formData1.placeTypeName}}{{state.formData1.placeTypeCode}}
                                                    <el-popover v-if="state.formData1.placeType !=null"
                                                        placement="right" :width="650" popper-style="padding: 20px;">
                                                        <template #reference>
                                                            <svg-icon class-name="search-icon" icon-class="msg" />
                                                        </template>
                                                        <template #default>
                                                            <el-row :gutter="20" class="el-drawer_mash"
                                                                v-if="state.formData1.placeType">
                                                                <el-col :span="5">
                                                                    <img v-if="state.formData1.placeType.imagePath !=null"
                                                                        class="w100" style="height:160px"
                                                                        :src="state.formData1.placeType.imagePath" />
                                                                    <img v-else src="@/assets/images/noimg.png" />
                                                                </el-col>
                                                                <el-col :span="19">
                                                                    <el-row :gutter="20">
                                                                        <el-col :span="24">
                                                                            <p>{{ state.formData1.placeType.sensorType }}设置地点
                                                                            </p>
                                                                            <p>{{ state.formData1.placeType.cutArea }}
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="6">
                                                                            <p>{{ state.formData1.placeType.sensorType }}编号
                                                                            </p>
                                                                            <p>{{ state.formData1.placeType.typeCode }}
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="6">
                                                                            <p>报警浓度(%)</p>
                                                                            <p>{{ state.formData1.placeType.alarmValue }}
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="6">
                                                                            <p>断电浓度(%)</p>
                                                                            <p>{{ state.formData1.placeType.cutValue }}
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="6">
                                                                            <p>复电浓度(%)</p>
                                                                            <p>{{ state.formData1.placeType.resumeValue }}
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="24">
                                                                            <p>断电范围</p>
                                                                            <p>{{ state.formData1.placeType.cutArea }}
                                                                            </p>
                                                                        </el-col>
                                                                    </el-row>
                                                                </el-col>
                                                            </el-row>
                                                        </template>
                                                    </el-popover>
                                                </p>
                                                <p v-else>-</p>
                                            </el-col>
                                        </el-row>
                                    </el-col>
                                    <!-- 多参测点 -->
                                    <el-col v-else :span="18" class="el-drawer_desc">
                                        <el-row :gutter="20">
                                            <el-col :span="8">
                                                <p>测点类型</p>
                                                <p>{{state.formData1.pointTypeName}}</p>
                                            </el-col>

                                            <el-col :span="8">
                                                <p>所属区域</p>
                                                <p>{{state.formData1.pointAreaName}}</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>设备唯一编号</p>
                                                <p v-if="state.formData1.pointIdentifyingNo!=null">
                                                    {{state.formData1.pointIdentifyingNo}}</p>
                                                <p v-else>-</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>安装时间</p>
                                                <p>{{state.formData1.createTime}}</p>
                                            </el-col>

                                            <el-col :span="16">
                                                <p>地理位置(X Y Z)</p>
                                                <span class="chaolink"
                                                    v-if="state.formData1.locationX !=null ||  state.formData1.locationY!=null||state.formData1.locationZ!=null">
                                                    {{state.formData1.locationX}},{{state.formData1.locationY}},{{state.formData1.locationZ}}
                                                </span>
                                                <span v-else>-</span>
                                            </el-col>
                                            <el-col :span="16" v-if="state.formData1.needPlaceType">
                                                <p>地点类型</p>
                                                <p v-if="state.formData1.placeTypeName!=null">
                                                    {{state.formData1.placeTypeName}}{{state.formData1.placeTypeCode}}
                                                    <el-popover v-if="state.formData1.placeType !=null"
                                                        placement="right" :width="650" popper-style="padding: 20px;">
                                                        <template #reference>
                                                            <svg-icon class-name="search-icon" icon-class="msg" />
                                                        </template>
                                                        <template #default>
                                                            <el-row :gutter="20" class="el-drawer_mash"
                                                                v-if="state.formData1.placeType">
                                                                <el-col :span="5">
                                                                    <img v-if="state.formData1.placeType.imagePath !=null"
                                                                        class="w100" style="height:160px"
                                                                        :src="state.formData1.placeType.imagePath" />
                                                                    <img v-else src="@/assets/images/noimg.png" />
                                                                </el-col>
                                                                <el-col :span="19">
                                                                    <el-row :gutter="20">
                                                                        <el-col :span="24">
                                                                            <p>{{ state.formData1.placeType.sensorType }}设置地点
                                                                            </p>
                                                                            <p>{{ state.formData1.placeType.cutArea }}
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="6">
                                                                            <p>{{ state.formData1.placeType.sensorType }}编号
                                                                            </p>
                                                                            <p>{{ state.formData1.placeType.typeCode }}
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="6">
                                                                            <p>报警浓度(%)</p>
                                                                            <p>{{ state.formData1.placeType.alarmValue }}
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="6">
                                                                            <p>断电浓度(%)</p>
                                                                            <p>{{ state.formData1.placeType.cutValue }}
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="6">
                                                                            <p>复电浓度(%)</p>
                                                                            <p>{{ state.formData1.placeType.resumeValue }}
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="24">
                                                                            <p>断电范围</p>
                                                                            <p>{{ state.formData1.placeType.cutArea }}
                                                                            </p>
                                                                        </el-col>
                                                                    </el-row>
                                                                </el-col>
                                                            </el-row>
                                                        </template>
                                                    </el-popover>
                                                </p>
                                                <p v-else>-</p>
                                            </el-col>
                                            <el-col :span="8">
                                                <p>最后一次上线时间</p>
                                                <p>
                                                    <span class="chaolink">{{state.formData1.lastOnlineTime}}
                                                    </span>
                                                </p>
                                            </el-col>
                                        </el-row>
                                    </el-col>
                                    <el-col :span="24" v-if="state.formData1.pointType == 2">
                                        <el-row :gutter="18">
                                            <el-col :span="12"
                                                v-for="(item,index)  in state.formData1.multiplePointBranchList">
                                                <p>参数{{index+1}}</p>
                                                <p>{{item.name}}
                                                    <em v-if="item.pointValue!=null" style="font-style:normal;color:rgba(103, 194, 58, 1);
                                                    font-size:16px;font-weight:bold;">{{item.pointValue}}
                                                    </em><em v-else>-</em>{{ item.sensorUnit }}
                                                </p>
                                            </el-col>
                                        </el-row>
                                    </el-col>
                                </el-row>
                            </div>
                            <div class="el-drawer_mash">
                                <!-- 多参测点详情 -->
                                <el-col :span="24" v-if="state.formData1.pointType == 2">
                                    <el-row :gutter="20">
                                        <el-col :span="24">
                                            <div class="activeNameTab" style="display:flex;">
                                                <el-tabs v-model="state.mulactiveNamePoint" class="demo-tabs w100"
                                                    @tab-click="handleClick">
                                                    <el-tab-pane
                                                        v-for="(item,index) in state.formData1.multiplePointBranchList"
                                                        :label="item.childIndxName !=null ? item.sensorName+'-'+item.childIndexName : item.sensorName"
                                                        :name="item.sensorId">
                                                        <el-row :gutter="20"
                                                            v-if="state.mulactiveNamePoint ==item.sensorId">
                                                            <el-col :span="24">
                                                                <p class="activeNameTab"
                                                                    style="margin-top:12px;margin-bottom:0;"
                                                                    v-if="item.baohanD !='S'">
                                                                    <span
                                                                        v-for="(point,pointIndex) in state.pointactiveNameList"
                                                                        :key="point.type"
                                                                        @click="ponitactiveNameTabClick(point.type)">
                                                                        <span v-if="item.baohanD=='D'">
                                                                            <span v-if="item.needGrandalarm">
                                                                                <span class="span1"
                                                                                    :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                                    v-if="point.type!=4">{{ point.name }}</span>
                                                                            </span>
                                                                            <span v-else>
                                                                                <span class="span1"
                                                                                    :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                                    v-if="point.type!=4 && point.type!=2">{{ point.name }}</span>
                                                                            </span>
                                                                        </span>
                                                                        <span v-else>
                                                                            <span v-if="item.needGrandalarm">
                                                                                <span class="span1"
                                                                                    :class="state.activeNamePoint ==point.type ? 'active1':''">{{ point.name }}</span>
                                                                            </span>
                                                                            <span v-else>
                                                                                <span class="span1"
                                                                                    :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                                    v-if="point.type!=2">{{ point.name }}</span>
                                                                            </span>
                                                                        </span>
                                                                    </span>
                                                                </p>
                                                            </el-col>
                                                            <div class="desc_box w100" v-if="item.baohanD !='S'">
                                                                <div class="w100" v-if="state.activeNamePoint == 1">
                                                                    <el-row :gutter="20" v-if="item.alarmBasic !=null">
                                                                        <el-col :span="8">
                                                                            <p>报警模式</p>
                                                                            <p v-if="item.alarmBasic.alarmType==0">
                                                                                无报警
                                                                            </p>
                                                                            <p v-else-if="item.alarmBasic.alarmType==1">
                                                                                上限报警</p>
                                                                            <p v-else-if="item.alarmBasic.alarmType==2">
                                                                                下限报警值</p>
                                                                            <p v-else>上下限报警值</p>
                                                                            <p
                                                                                v-if="item.alarmBasic.alarmType==1 || item.alarmBasic.alarmType==3">
                                                                                <span>上限报警值
                                                                                    ≥{{ item.alarmBasic.upAlarmValue }}</span>
                                                                                <span class="marl40">上限解报值
                                                                                    ＜{{ item.alarmBasic.upRelieveValue }}</span>
                                                                            </p>
                                                                            <p
                                                                                v-if="item.alarmBasic.alarmType==2 || item.alarmBasic.alarmType==3">
                                                                                <span>下限报警值
                                                                                    ≤{{ item.alarmBasic.upAlarmValue }}</span>
                                                                                <span class="marl40">下限解报值
                                                                                    ＞{{ item.alarmBasic.upRelieveValue }}</span>
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="8"
                                                                            v-if="item.prealarmBasic!=null&&item.prealarmBasic.hasPreAlarm">
                                                                            <p>预报警</p>
                                                                            <p><span>上限预报值
                                                                                    {{ item.prealarmBasic.upPrealarmValue }}</span><span
                                                                                    class="marl40">超时
                                                                                    {{ item.prealarmBasic.prealarmTimeout }}</span>
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="8"
                                                                            v-if="item.prealarmBasic!=null&&item.prealarmBasic.hasConstantPreAlarm">
                                                                            <p>恒值预报警</p>
                                                                            <p>{{item.prealarmBasic.constantTime}}
                                                                            </p>
                                                                        </el-col>
                                                                    </el-row>
                                                                </div>
                                                                <div class="" v-if="state.activeNamePoint == 2">
                                                                    <el-row :gutter="20"
                                                                        v-if="!item.hasChangeGrandAlarm && !item.hasDownGrandAlarm&& !item.hasMoreGrandAlarm&& !item.hasUpGrandAlarm">
                                                                        <el-col :span="24">
                                                                            <div class="fcc">
                                                                                <img style="width:200px;height:200px;"
                                                                                    src="@/assets/images/tabnopoint.png" />
                                                                                <p>
                                                                                    <p>暂未配置哦~</p>
                                                                                    <el-button link type="primary"
                                                                                        @click="editstationPointBtn('tab',)">
                                                                                        立即配置</el-button>
                                                                                </p>
                                                                            </div>
                                                                        </el-col>
                                                                    </el-row>
                                                                    <el-row :gutter="20" v-else>
                                                                        <el-col :span="24">
                                                                            <p>变化参数</p>
                                                                            <p><span>变化率判断门限≥
                                                                                    {{ item.upGrandalarmBasic.grandalarmRate.thresholdValue }}</span>
                                                                                <span class="marl40">变化率持续周期
                                                                                    {{ item.upGrandalarmBasic.grandalarmRate.rateCycle }}</span>
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="12">
                                                                            <p>一级报警</p>
                                                                            <p v-if="item.hasUpGrandAlarm">
                                                                                <span>上限预报值≥
                                                                                    {{ item.upGrandalarmBasic.grandoneValue }}</span><span
                                                                                    class="marl40">或
                                                                                    持续≤
                                                                                    {{ item.upGrandalarmBasic.grandoneTime }}</span><span
                                                                                    class="marl40"
                                                                                    v-if="item.hasChangeGrandAlarm">或
                                                                                    涨幅≥
                                                                                    {{item.upGrandalarmBasic.grandalarmRate.rateOneValue  }}</span>
                                                                            </p>
                                                                            <p v-if="item.hasDownGrandAlarm">
                                                                                <span>下限预报值≥
                                                                                    {{ item.downGrandalarmBasic.grandoneValue }}</span><span
                                                                                    class="marl40">或
                                                                                    持续≤
                                                                                    {{ item.downGrandalarmBasic.grandoneTime }}</span><span
                                                                                    class="marl40"
                                                                                    v-if="item.hasChangeGrandAlarm">或
                                                                                    涨幅≥
                                                                                    {{item.downGrandalarmBasic.grandalarmRate.rateOneValue  }}</span>
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="12">
                                                                            <p>二级报警</p>
                                                                            <p v-if="item.hasUpGrandAlarm">
                                                                                <span>上限预报值≥
                                                                                    {{item.upGrandalarmBasic.grandtwoValue  }}</span><span
                                                                                    class="marl40">或
                                                                                    持续≤
                                                                                    {{item.upGrandalarmBasic.grandtwoTime  }}</span><span
                                                                                    class="marl40"
                                                                                    v-if="item.hasChangeGrandAlarm">或
                                                                                    涨幅≥
                                                                                    {{  item.upGrandalarmBasic.grandalarmRate.rateTwoValue}}</span>
                                                                            </p>
                                                                            <p v-if="item.hasDownGrandAlarm">
                                                                                <span>下限预报值≥
                                                                                    {{item.downGrandalarmBasic.grandtwoValue  }}</span><span
                                                                                    class="marl40">或
                                                                                    持续≤
                                                                                    {{item.downGrandalarmBasic.grandtwoTime  }}</span><span
                                                                                    class="marl40"
                                                                                    v-if="item.hasChangeGrandAlarm">或
                                                                                    涨幅≥
                                                                                    {{  item.downGrandalarmBasic.grandalarmRate.rateTwoValue}}</span>
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="12">
                                                                            <p>三级报警</p>
                                                                            <p v-if="item.hasUpGrandAlarm">
                                                                                <span>上限预报值≥
                                                                                    {{ item.upGrandalarmBasic.grandthreeValue }}</span><span
                                                                                    class="marl40">或
                                                                                    持续≤
                                                                                    {{ item.upGrandalarmBasic.grandthreeTime }}</span><span
                                                                                    class="marl40"
                                                                                    v-if="item.hasChangeGrandAlarm">或
                                                                                    涨幅≥
                                                                                    {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue }}</span>
                                                                            </p>
                                                                            <p v-if="item.hasDownGrandAlarm">
                                                                                <span>下限预报值≥
                                                                                    {{ item.downGrandalarmBasic.grandthreeValue }}</span><span
                                                                                    class="marl40">或
                                                                                    持续≤
                                                                                    {{ item.downGrandalarmBasic.grandthreeTime }}</span><span
                                                                                    class="marl40"
                                                                                    v-if="item.hasChangeGrandAlarm">或
                                                                                    涨幅≥
                                                                                    {{ item.downGrandalarmBasic.grandalarmRate.rateThreeValue }}</span>
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="12">
                                                                            <p>四级报警</p>
                                                                            <p v-if="item.hasUpGrandAlarm">
                                                                                <span>上限预报值≥
                                                                                    {{ item.upGrandalarmBasic.grandfourValue }}</span><span
                                                                                    class="marl40">或
                                                                                    持续≤
                                                                                    {{ item.upGrandalarmBasic.grandfourTime }}</span><span
                                                                                    class="marl40"
                                                                                    v-if="item.hasChangeGrandAlarm">或
                                                                                    涨幅≥
                                                                                    {{ item.upGrandalarmBasic.grandalarmRate.rateFourValue }}</span>
                                                                            </p>
                                                                            <p v-if="item.hasDownGrandAlarm">
                                                                                <span>下限预报值≥
                                                                                    {{ item.downGrandalarmBasic.grandfourValue }}</span><span
                                                                                    class="marl40">或
                                                                                    持续≤
                                                                                    {{ item.downGrandalarmBasic.grandfourTime }}</span><span
                                                                                    class="marl40"
                                                                                    v-if="item.hasChangeGrandAlarm">或
                                                                                    涨幅≥
                                                                                    {{ item.downGrandalarmBasic.grandalarmRate.rateFourValue }}</span>
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="12"
                                                                            v-if="item.hasMoreGrandAlarm">
                                                                            <p>五级报警</p>
                                                                            <p><span>上限预报值≥
                                                                                    {{ item.upGrandalarmBasic.grandfiveValue }}</span><span
                                                                                    class="marl40">或
                                                                                    持续≤
                                                                                    {{ item.upGrandalarmBasic.grandfiveTime }}</span><span
                                                                                    class="marl40"
                                                                                    v-if="item.hasChangeGrandAlarm">或
                                                                                    涨幅≥
                                                                                    {{ item.upGrandalarmBasic.grandalarmRate.rateFiveValue }}</span>
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="12"
                                                                            v-if="item.hasMoreGrandAlarm">
                                                                            <p>六级报警</p>
                                                                            <p><span>上限预报值≥
                                                                                    {{ item.upGrandalarmBasic.grandsixValue }}</span><span
                                                                                    class="marl40">或
                                                                                    持续≤
                                                                                    {{ item.upGrandalarmBasic.grandsixTime }}</span><span
                                                                                    class="marl40"
                                                                                    v-if="item.hasChangeGrandAlarm">或
                                                                                    涨幅≥
                                                                                    {{ item.upGrandalarmBasic.grandalarmRate.rateSixValue }}</span>
                                                                            </p>
                                                                        </el-col>
                                                                    </el-row>
                                                                </div>
                                                                <div class="" v-if="state.activeNamePoint == 3">
                                                                    <el-row :gutter="20">
                                                                        <el-col :span="24"
                                                                            v-if="item.cutValueList == null">
                                                                            <div class="fcc">
                                                                                <img style="width:200px;height:200px;"
                                                                                    src="@/assets/images/tabnopoint.png" />
                                                                                <p>
                                                                                    <p>暂未配置哦~</p>
                                                                                    <el-button link type="primary"
                                                                                        @click="editstationPointBtn('tab',)">
                                                                                        立即配置</el-button>
                                                                                </p>
                                                                            </div>
                                                                        </el-col>
                                                                        <el-col :span="24" class="detailcollapse"
                                                                            v-else>
                                                                            <el-collapse v-model="state.collapseAtive"
                                                                                @change="handleChange">
                                                                                <el-collapse-item :name="index"
                                                                                    v-for="(item11,index) in item.cutValueList">
                                                                                    <template #title>
                                                                                        <div class="fbc"
                                                                                            style="width:97%;"
                                                                                            @click="stopCollapse">
                                                                                            <div
                                                                                                style="width:98%;text-align:left;">
                                                                                                <el-row :gutter="20">
                                                                                                    <el-col :span="8">
                                                                                                        <p
                                                                                                            style="padding:8px 0 4px 4px;margin:0;width:100%">
                                                                                                            断电模式
                                                                                                        </p>
                                                                                                        <p
                                                                                                            style="padding:0;margin:0;width:100%">
                                                                                                            上限断电
                                                                                                            断电值≥{{ item11.cutValue }}
                                                                                                            复电值＜{{ item11.resumeValue }}
                                                                                                        </p>
                                                                                                    </el-col>
                                                                                                    <el-col :span="8">
                                                                                                        <p
                                                                                                            style="padding:8px 0 4px 4px;margin:0;width:100%">
                                                                                                            断电设备分布
                                                                                                        </p>
                                                                                                        <p
                                                                                                            style="padding:0;margin:0;width:100%">
                                                                                                            <el-button
                                                                                                                type="primary"
                                                                                                                link
                                                                                                                size="mini">
                                                                                                                查看
                                                                                                            </el-button>
                                                                                                        </p>
                                                                                                    </el-col>
                                                                                                </el-row>
                                                                                            </div>
                                                                                        </div>
                                                                                    </template>
                                                                                    <div>
                                                                                        <vxe-table border ref="tableRef"
                                                                                            :data="item11.cutStationList[0].controlPortList">
                                                                                            <vxe-column title="分站编号">
                                                                                                <template
                                                                                                    #default="{row}">
                                                                                                    {{item11.cutStationList[0].stationCode}}
                                                                                                </template>
                                                                                            </vxe-column>
                                                                                            <vxe-column title="分站名称">
                                                                                                <template
                                                                                                    #default="{row}">
                                                                                                    {{item11.cutStationList[0].stationPlaceName}}
                                                                                                </template>
                                                                                            </vxe-column>
                                                                                            <vxe-column
                                                                                                field="controlPort"
                                                                                                title="开出口号">
                                                                                            </vxe-column>
                                                                                            <vxe-column
                                                                                                field="controlPortType"
                                                                                                title="控制设备">
                                                                                                <template
                                                                                                    #default="{row}">
                                                                                                    <span
                                                                                                        v-if="row.controlPortType== 1">断电仪</span>
                                                                                                    <span
                                                                                                        v-else>声光报警</span>
                                                                                                </template>
                                                                                            </vxe-column>
                                                                                            <vxe-column
                                                                                                field="pointPlaceName"
                                                                                                title="安装地点">
                                                                                            </vxe-column>
                                                                                            <vxe-column
                                                                                                field="feedPointId"
                                                                                                title="馈电测点">
                                                                                            </vxe-column>
                                                                                            <vxe-column
                                                                                                field="feedSensorName"
                                                                                                title="馈电设备">
                                                                                            </vxe-column>
                                                                                        </vxe-table>
                                                                                    </div>
                                                                                </el-collapse-item>
                                                                            </el-collapse>
                                                                        </el-col>
                                                                    </el-row>
                                                                </div>
                                                                <div class="" v-if="state.activeNamePoint == 4">

                                                                    <el-row :gutter="20" v-if="item.cutArea.areaIdList">
                                                                        <el-col :span="8">
                                                                            <p>断电区域</p>
                                                                            <p
                                                                                v-if="item.cutArea&&item.cutArea.areaNameList">
                                                                                <span
                                                                                    v-if="item.cutArea.areaNameList.length>0">
                                                                                    {{item.cutArea.areaNameList.toString()}}
                                                                                </span>
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="8">
                                                                            <p>断电值≥</p>
                                                                            <p>{{item.cutArea.cutValue}}
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="8">
                                                                            <p>复电值＜</p>
                                                                            <p>{{item.cutArea.resumeValue}}
                                                                            </p>
                                                                        </el-col>
                                                                    </el-row>
                                                                    <el-row :gutter="20" v-else>
                                                                        <el-col :span="24">
                                                                            <div class="fcc">
                                                                                <img style="width:200px;height:200px;"
                                                                                    src="@/assets/images/tabnopoint.png" />
                                                                                <p>
                                                                                    <p>暂未配置哦~</p>
                                                                                    <el-button link type="primary"
                                                                                        @click="editstationPointBtn('tab',)">
                                                                                        立即配置</el-button>
                                                                                </p>
                                                                            </div>
                                                                        </el-col>
                                                                    </el-row>
                                                                </div>
                                                                <div class="" v-if="state.activeNamePoint == 5">
                                                                    <el-row :gutter="20">
                                                                        <el-col :span="12">
                                                                            <p>下次标校时刻</p>
                                                                            <p style="color:rgba(230, 162, 60, 1)">
                                                                                3天21小时15秒后（2024-5-12
                                                                                12:00:00）</p>
                                                                        </el-col>
                                                                        <el-col :span="12">
                                                                            <p>标校达标数值</p>
                                                                            <p>20/20</p>
                                                                        </el-col>
                                                                        <el-col :span="6">
                                                                            <p>最近标校时刻</p>
                                                                            <p>
                                                                                <el-button type="primary" link>
                                                                                    正常</el-button>
                                                                            </p>
                                                                        </el-col>
                                                                        <el-col :span="6">
                                                                            <p>标校结果</p>
                                                                            <p>36分钟</p>
                                                                        </el-col>
                                                                        <el-col :span="12">
                                                                            <p>标校持续时长</p>
                                                                            <p>3天21小时15秒后（2024-5-12 12:00:00）
                                                                            </p>
                                                                        </el-col>
                                                                    </el-row>
                                                                </div>
                                                            </div>
                                                        </el-row>
                                                    </el-tab-pane>
                                                </el-tabs>
                                            </div>
                                        </el-col>
                                    </el-row>
                                </el-col>
                                <!-- 普通测点详情 -->
                                <el-col :span="24"
                                    v-if="state.formData1.pointType == 1 || state.formData1.pointType == 3">
                                    <el-row :gutter="20">
                                        <el-col :span="24">
                                            <p class="activeNameTab" style="margin-top:10px;"
                                                v-if="state.baohanD !='S'">
                                                <span v-for="item in state.pointactiveNameList" :key="item.type"
                                                    @click="ponitactiveNameTabClick(item.type)">
                                                    <span v-if="state.baohanD=='D'">
                                                        <span v-if="state.formData1.needGrandalarm">
                                                            <span class="span"
                                                                :class="state.activeNamePoint ==item.type ? 'active':''"
                                                                v-if="item.type!=4">{{ item.name }}</span>
                                                        </span>
                                                        <span v-else>
                                                            <span class="span"
                                                                :class="state.activeNamePoint ==item.type ? 'active':''"
                                                                v-if="item.type!=4 && item.type!=2">{{ item.name }}</span>
                                                        </span>
                                                    </span>
                                                    <span v-else>
                                                        <span v-if="state.formData1.needGrandalarm">
                                                            <span class="span"
                                                                :class="state.activeNamePoint ==item.type ? 'active':''">{{ item.name }}</span>
                                                        </span>
                                                        <span v-else>
                                                            <span class="span"
                                                                :class="state.activeNamePoint ==item.type ? 'active':''"
                                                                v-if="item.type!=2">{{ item.name }}</span>
                                                        </span>

                                                    </span>
                                                </span>
                                                <!-- <span class="span"
                                                    @click="ponitactiveNameTabClick(5)"
                                                            :class="state.activeNamePoint ==5 ? 'active':''">设备标校</span> -->
                                            </p>
                                        </el-col>
                                        <div class="desc_box w100" v-if="state.baohanD !='S'">
                                            <div v-if="state.activeNamePoint == 1">
                                                <el-row :gutter="20">
                                                    <el-col :span="8">
                                                        <div v-if="state.baohanD !='D'">
                                                            <p>报警模式</p>
                                                            <p v-if="state.formData1.alarmBasic.alarmType==0">无报警
                                                            </p>
                                                            <p v-else-if="state.formData1.alarmBasic.alarmType==1">
                                                                上限报警</p>
                                                            <p v-else-if="state.formData1.alarmBasic.alarmType==2">
                                                                下限报警值</p>
                                                            <p v-else>上下限报警值</p>
                                                        </div>
                                                        <div v-else>
                                                            <p>报警模式</p>
                                                            <p v-if="state.formData1.alarmBasic.alarmType==1">
                                                                {{state.formData1.highShow}}报警</p>
                                                            <p v-if="state.formData1.alarmBasic.alarmType==2">
                                                                {{state.formData1.lowShow}}报警</p>
                                                        </div>
                                                        <p
                                                            v-if="(state.formData1.alarmBasic.alarmType==1 || state.formData1.alarmBasic.alarmType==3)&& state.baohanD !='D'">
                                                            <span>上限报警值
                                                                ≥{{ state.formData1.alarmBasic.upAlarmValue }}</span>
                                                            <span class="marl40">上限解报值
                                                                ＜{{ state.formData1.alarmBasic.upRelieveValue }}</span>
                                                        </p>
                                                        <p
                                                            v-if="(state.formData1.alarmBasic.alarmType==2 || state.formData1.alarmBasic.alarmType==3)&&state.baohanD !='D'">
                                                            <span>下限报警值
                                                                ≤{{ state.formData1.alarmBasic.upAlarmValue }}</span>
                                                            <span class="marl40">下限解报值
                                                                ＞{{ state.formData1.alarmBasic.upRelieveValue }}</span>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="8" v-if="state.formData1.prealarmBasic.hasPreAlarm">
                                                        <p>预报警</p>
                                                        <p><span>上限预报值
                                                                {{ state.formData1.prealarmBasic.upPrealarmValue }}</span><span
                                                                class="marl40">超时
                                                                {{ state.formData1.prealarmBasic.prealarmTimeout }}</span>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="8"
                                                        v-if="state.formData1.prealarmBasic.hasConstantPreAlarm">
                                                        <p>恒值预报警</p>
                                                        <p>{{state.formData1.prealarmBasic.constantTime}}</p>
                                                    </el-col>
                                                </el-row>
                                            </div>
                                            <div class="" v-if="state.activeNamePoint == 2">
                                                <el-row :gutter="20"
                                                    v-if="!state.formData1.hasChangeGrandAlarm && !state.formData1.hasDownGrandAlarm&& !state.formData1.hasMoreGrandAlarm&& !state.formData1.hasUpGrandAlarm">
                                                    <el-col :span="24">
                                                        <div class="fcc">
                                                            <img style="width:200px;height:200px;"
                                                                src="@/assets/images/tabnopoint.png" />
                                                            <p>
                                                                <p>暂未配置哦~</p>
                                                                <el-button link type="primary"
                                                                    @click="editstationPointBtn('tab',2)">
                                                                    立即配置</el-button>
                                                            </p>
                                                        </div>
                                                    </el-col>
                                                </el-row>
                                                <el-row :gutter="20" v-else>
                                                    <el-col :span="24" v-if="state.baohanD != 'D'">
                                                        <p>变化参数</p>
                                                        <p><span>变化率判断门限≥
                                                                {{ state.formData1.upGrandalarmBasic.grandalarmRate.thresholdValue }}</span>
                                                            <span class="marl40">变化率持续周期
                                                                {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateCycle }}</span>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="12">
                                                        <p>一级报警</p>
                                                        <p v-if="state.formData1.hasUpGrandAlarm"><span
                                                                v-if="state.baohanD != 'D'">上限预报值≥
                                                                {{ state.formData1.upGrandalarmBasic.grandoneValue }}</span><span
                                                                class="marl40">
                                                                <span
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                {{ state.formData1.upGrandalarmBasic.grandoneTime }}</span><span
                                                                class="marl40"
                                                                v-if="state.formData1.hasChangeGrandAlarm && state.baohanD != 'D'">或
                                                                涨幅≥
                                                                {{state.formData1.upGrandalarmBasic.grandalarmRate.rateOneValue  }}</span>
                                                        </p>
                                                        <p v-if="state.formData1.hasDownGrandAlarm"><span
                                                                v-if="state.baohanD != 'D'">下限预报值≥
                                                                {{ state.formData1.downGrandalarmBasic.grandoneValue }}</span><span
                                                                class="marl40">
                                                                <span
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                {{ state.formData1.downGrandalarmBasic.grandoneTime }}</span><span
                                                                class="marl40"
                                                                v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                                涨幅≥
                                                                {{state.formData1.downGrandalarmBasic.grandalarmRate.rateOneValue  }}</span>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="12">
                                                        <p>二级报警</p>
                                                        <p v-if="state.formData1.hasUpGrandAlarm"><span
                                                                v-if="state.baohanD != 'D'">上限预报值≥
                                                                {{state.formData1.upGrandalarmBasic.grandtwoValue  }}</span><span
                                                                class="marl40">
                                                                <span
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                {{state.formData1.upGrandalarmBasic.grandtwoTime  }}</span><span
                                                                class="marl40"
                                                                v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                                涨幅≥
                                                                {{  state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue}}</span>
                                                        </p>
                                                        <p v-if="state.formData1.hasDownGrandAlarm"><span
                                                                v-if="state.baohanD != 'D'">下限预报值≥
                                                                {{state.formData1.downGrandalarmBasic.grandtwoValue  }}</span><span
                                                                class="marl40">
                                                                <span
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                {{state.formData1.downGrandalarmBasic.grandtwoTime  }}</span><span
                                                                class="marl40"
                                                                v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                                涨幅≥
                                                                {{  state.formData1.downGrandalarmBasic.grandalarmRate.rateTwoValue}}</span>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="12">
                                                        <p>三级报警</p>
                                                        <p v-if="state.formData1.hasUpGrandAlarm"><span
                                                                v-if="state.baohanD != 'D'">上限预报值≥
                                                                {{ state.formData1.upGrandalarmBasic.grandthreeValue }}</span><span
                                                                class="marl40">
                                                                <span
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                {{ state.formData1.upGrandalarmBasic.grandthreeTime }}</span><span
                                                                class="marl40"
                                                                v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                                涨幅≥
                                                                {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue }}</span>
                                                        </p>
                                                        <p v-if="state.formData1.hasDownGrandAlarm"><span
                                                                v-if="state.baohanD != 'D'">下限预报值≥
                                                                {{ state.formData1.downGrandalarmBasic.grandthreeValue }}</span><span
                                                                class="marl40">
                                                                <span
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                {{ state.formData1.downGrandalarmBasic.grandthreeTime }}</span><span
                                                                class="marl40"
                                                                v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                                涨幅≥
                                                                {{ state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue }}</span>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="12">
                                                        <p>四级报警</p>
                                                        <p v-if="state.formData1.hasUpGrandAlarm"><span
                                                                v-if="state.baohanD != 'D'">上限预报值≥
                                                                {{ state.formData1.upGrandalarmBasic.grandfourValue }}</span><span
                                                                class="marl40">
                                                                <span
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                {{ state.formData1.upGrandalarmBasic.grandfourTime }}</span><span
                                                                class="marl40"
                                                                v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                                涨幅≥
                                                                {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue }}</span>
                                                        </p>
                                                        <p v-if="state.formData1.hasDownGrandAlarm"><span
                                                                v-if="state.baohanD != 'D'">下限预报值≥
                                                                {{ state.formData1.downGrandalarmBasic.grandfourValue }}</span><span
                                                                class="marl40">
                                                                <span
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                {{ state.formData1.downGrandalarmBasic.grandfourTime }}</span><span
                                                                class="marl40"
                                                                v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                                涨幅≥
                                                                {{ state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue }}</span>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="12" v-if="state.formData1.hasMoreGrandAlarm">
                                                        <p>五级报警</p>
                                                        <p><span v-if="state.baohanD != 'D'">上限预报值≥
                                                                {{ state.formData1.upGrandalarmBasic.grandfiveValue }}</span><span
                                                                class="marl40">
                                                                <span
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                {{ state.formData1.upGrandalarmBasic.grandfiveTime }}</span><span
                                                                class="marl40"
                                                                v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                                涨幅≥
                                                                {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue }}</span>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="12" v-if="state.formData1.hasMoreGrandAlarm">
                                                        <p>六级报警</p>
                                                        <p><span v-if="state.baohanD != 'D'">上限预报值≥
                                                                {{ state.formData1.upGrandalarmBasic.grandsixValue }}</span><span
                                                                class="marl40"><span
                                                                    v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                {{ state.formData1.upGrandalarmBasic.grandsixTime }}</span><span
                                                                class="marl40"
                                                                v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                                涨幅≥
                                                                {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateSixValue }}</span>
                                                        </p>
                                                    </el-col>
                                                </el-row>
                                            </div>
                                            <div class="" v-if="state.activeNamePoint == 3">
                                                <el-row :gutter="20">
                                                    <el-col :span="24" v-if="state.formData1.cutValueList==null">
                                                        <div class="fcc">
                                                            <img style="width:200px;height:200px;"
                                                                src="@/assets/images/tabnopoint.png" />
                                                            <p>
                                                                <p>暂未配置哦~</p>
                                                                <el-button link type="primary"
                                                                    @click="editstationPointBtn('tab',3)">立即配置
                                                                </el-button>
                                                            </p>
                                                        </div>
                                                    </el-col>
                                                    <el-col :span="24" class="detailcollapse" v-else>
                                                        <el-collapse v-model="state.collapseAtive"
                                                            @change="handleChange">
                                                            <el-collapse-item :name="index"
                                                                v-for="(item,index) in state.formData1.cutValueList">
                                                                <template #title>
                                                                    <div class="fbc" style="width:97%;"
                                                                        @click="stopCollapse">
                                                                        <div style="width:98%;text-align:left;">
                                                                            <el-row :gutter="20">
                                                                                <el-col :span="8">
                                                                                    <p
                                                                                        style="padding:8px 0 4px 4px;margin:0;width:100%">
                                                                                        断电模式</p>
                                                                                    <p
                                                                                        style="padding:0;margin:0;width:100%">
                                                                                        上限断电
                                                                                        断电值≥{{ item.cutValue }}
                                                                                        复电值＜{{ item.resumeValue }}
                                                                                    </p>
                                                                                </el-col>
                                                                                <el-col :span="8">
                                                                                    <p
                                                                                        style="padding:8px 0 4px 4px;margin:0;width:100%">
                                                                                        断电设备分布</p>
                                                                                    <p
                                                                                        style="padding:0;margin:0;width:100%">
                                                                                        <el-button type="primary" link
                                                                                            size="mini">
                                                                                            查看</el-button>
                                                                                    </p>
                                                                                </el-col>
                                                                            </el-row>
                                                                        </div>
                                                                    </div>
                                                                </template>
                                                                <div>
                                                                    <vxe-table border ref="tableRef"
                                                                        :data="item.cutStationList[0].controlPortList">
                                                                        <vxe-column title="分站编号">
                                                                            <template #default="{row}">
                                                                                {{item.cutStationList[0].stationCode}}
                                                                            </template>
                                                                        </vxe-column>
                                                                        <vxe-column title="分站名称">
                                                                            <template #default="{row}">
                                                                                {{item.cutStationList[0].stationPlaceName}}
                                                                            </template>
                                                                        </vxe-column>
                                                                        <vxe-column field="controlPort" title="开出口号">
                                                                        </vxe-column>
                                                                        <vxe-column field="controlPortType"
                                                                            title="控制设备">
                                                                            <template #default="{row}">
                                                                                <span
                                                                                    v-if="row.controlPortType== 1">断电仪</span>
                                                                                <span v-else>声光报警</span>
                                                                            </template>
                                                                        </vxe-column>
                                                                        <vxe-column field="pointPlaceName" title="安装地点">
                                                                        </vxe-column>
                                                                        <vxe-column field="feedPointId" title="馈电测点">
                                                                        </vxe-column>
                                                                        <vxe-column field="feedSensorName" title="馈电设备">
                                                                        </vxe-column>
                                                                    </vxe-table>
                                                                </div>
                                                            </el-collapse-item>
                                                        </el-collapse>
                                                    </el-col>
                                                </el-row>
                                            </div>
                                            <div class="" v-if="state.activeNamePoint == 4">
                                                <el-row :gutter="20"
                                                    v-if="JSON.stringify(state.formData1.cutArea)=='{}'">
                                                    <el-col :span="24">
                                                        <div class="fcc">
                                                            <img style="width:200px;height:200px;"
                                                                src="@/assets/images/tabnopoint.png" />
                                                            <p>
                                                                <p>暂未配置哦~</p>
                                                                <el-button link type="primary"
                                                                    @click="editstationPointBtn('tab',4)">立即配置
                                                                </el-button>
                                                            </p>
                                                        </div>
                                                    </el-col>
                                                </el-row>
                                                <el-row :gutter="20" v-else>
                                                    <el-col :span="8">
                                                        <p>断电区域</p>
                                                        <p v-if="state.formData1.cutArea.areaNameList">
                                                            <span v-if="state.formData1.cutArea.areaNameList.length>0">
                                                                {{state.formData1.cutArea.areaNameList.toString()}}
                                                            </span>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <p>断电值≥</p>
                                                        <p>{{state.formData1.cutArea.cutValue}}</p>
                                                    </el-col>
                                                    <el-col :span="8">
                                                        <p>复电值＜</p>
                                                        <p>{{state.formData1.cutArea.resumeValue}}</p>
                                                    </el-col>
                                                </el-row>
                                            </div>
                                            <div class="" v-if="state.activeNamePoint == 5">
                                                <el-row :gutter="20">
                                                    <el-col :span="12">
                                                        <p>下次标校时刻</p>
                                                        <p style="color:rgba(230, 162, 60, 1)">
                                                            3天21小时15秒后（2024-5-12
                                                            12:00:00）</p>
                                                    </el-col>
                                                    <el-col :span="12">
                                                        <p>标校达标数值</p>
                                                        <p>20/20</p>
                                                    </el-col>
                                                    <el-col :span="6">
                                                        <p>最近标校时刻</p>
                                                        <p>
                                                            <el-button type="primary" link>正常</el-button>
                                                        </p>
                                                    </el-col>
                                                    <el-col :span="6">
                                                        <p>标校结果</p>
                                                        <p>36分钟</p>
                                                    </el-col>
                                                    <el-col :span="12">
                                                        <p>标校持续时长</p>
                                                        <p>3天21小时15秒后（2024-5-12 12:00:00）</p>
                                                    </el-col>
                                                </el-row>
                                            </div>
                                        </div>
                                    </el-row>
                                </el-col>
                            </div>
                        </div>
                    </div>

                </el-col>
                <!-- 新增开出口 -->
                <el-col :span="19" v-if="state.addShowOpenShow ==true">
                    <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                        <div class="title_r_box">
                            <p class="p_btn">
                                <oneclickDelivery></oneclickDelivery>
                            </p>
                            <p class="title_r"><span class="fz16 hover" @click="addstationBtn">分站信息</span>
                                <span class="fz16 active">开出口信息</span></p>
                        </div>
                        <el-form class="formBox" ref="formRef2" :model="state.formData2" :rules="state.rules2"
                            label-position="top">
                            <div class="desc_box">
                                <el-row :gutter="20">
                                    <el-col :span="6">
                                        <el-form-item label="所属分站" prop="stationCode">
                                            <el-input disabled v-model="state.formData2.stationCode" placeholder="请输入">
                                            </el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="6">
                                        <el-form-item label="控制设备" prop="controlPortType">
                                            <el-select clearable filterable v-model="state.formData2.controlPortType"
                                                placeholder="请选择" @change="controlPortTypeChange">
                                                <el-option v-for="item in state.controlPortTypeList" :key="item.code"
                                                    :label="item.name" :value="item.code">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12">
                                        <el-form-item label="安装地点" prop="pointPlaceId">
                                            <el-select class="w100" clearable filterable allow-create
                                                v-model="state.formData2.pointPlaceId" placeholder="请选择"
                                                @change="pointPlaceIdopenChange">
                                                <el-option v-for="item in state.addressInfoList" :key="item.id"
                                                    :label="item.placeName" :value="item.id">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12">
                                        <el-form-item label="馈电测点" prop="feedPointId" :rules="{
                required: state.formData2.controlPortType==2?false:true,
                message: '请选择馈电测点',
                trigger: 'change',
            }">
                                            <el-select :disabled="state.formData2.controlPortType==2" class="w100"
                                                clearable filterable allow-create v-model="state.formData2.feedPointId"
                                                placeholder="请选择" @change="feedPointIdChange">
                                                <el-option v-for="item in state.feedPointIdList" :key="item.pointId"
                                                    :label="item.pointId+'/'+item.sensorName+'/'+item.pointPlaceName"
                                                    :value="item.pointId">
                                                </el-option>
                                            </el-select>
                                        </el-form-item>
                                    </el-col>
                                    <el-col :span="12">
                                        <el-form-item label="设备地理位置" prop="stationPlaceName">
                                            <div class="fbc">
                                                <el-input v-model="state.formData2.locationX" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                    <template #prefix>
                                                        <span>X</span>
                                                    </template>
                                                </el-input>
                                                <el-input v-model="state.formData2.locationY" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                    <template #prefix>
                                                        <span>Y</span>
                                                    </template>
                                                </el-input>
                                                <el-input v-model="state.formData2.locationZ" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                    <template #prefix>
                                                        <span>Z</span>
                                                    </template>
                                                </el-input>
                                            </div>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                            </div>
                        </el-form>
                    </div>
                    <div class="footer_card fbc">
                        <div></div>
                        <div>
                            <el-button class="btn" type="info" @click="cancelopenClick">取消</el-button>
                            <el-button class="btn" type="primary" @click="addopenClick">确定</el-button>
                        </div>
                    </div>
                </el-col>
                <!-- 开出口详情 -->
                <el-col :span="19" v-if="state.addShowOpendetailShow ==true">
                    <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                        <div class="title_r_box">
                            <p class="p_btn">
                                <oneclickDelivery></oneclickDelivery>
                            </p>
                            <p class="title_r fbc">
                                <span>
                                    <span class="fz16 hover"
                                        @click="stationBtndesc(state.formData2.stationCode)">分站信息</span>
                                    <span class="fz16 active">开出口信息</span>
                                </span>
                                <span>
                                    <el-button link size="small" type="primary" @click="editopenBtn">编辑</el-button>
                                    <el-button link size="small" type="primary"
                                        @click="delopenClick(state.formData2.controlPort,state.formData2.stationCode)">
                                        删除
                                    </el-button>
                                </span>
                            </p>
                        </div>

                        <el-form class="formBox" ref="formRef2" :model="state.formData2" :rules="state.rules2"
                            label-position="top">
                            <div class="el-drawer_mash desc_box">
                                <el-row :gutter="20">
                                    <el-col :span="24">
                                        <p class="drawer_sub_title">
                                            <span class="sub_title_line">开出口基础信息</span>
                                        </p>
                                    </el-col>
                                    <el-col :span="6">
                                        <p>所属分站</p>
                                        <p>{{state.formData2.stationCode}}</p>
                                    </el-col>
                                    <el-col :span="6">
                                        <p>控制设备</p>
                                        <p>{{state.formData2.controlPortTypeName}}</p>
                                    </el-col>
                                    <el-col :span="12">
                                        <p>安装地点</p>
                                        <p>{{state.formData2.pointPlaceName}}</p>
                                    </el-col>
                                    <el-col :span="12" v-if="state.formData2.controlPortType !=2">
                                        <p>馈电测点</p>
                                        <p>{{state.formData2.feedPointId}}/{{state.formData2.feedSensorName}}/{{state.formData2.feedPlaceName}}
                                        </p>
                                    </el-col>
                                    <el-col :span="12">
                                        <p>设备地理位置</p>
                                        <p
                                            v-if="state.formData2.locationX!=null || state.formData2.locationY!=null || state.formData2.locationZ!=null">
                                            {{state.formData2.locationX}},{{state.formData2.locationY}},{{state.formData2.locationZ}}
                                        </p>
                                        <p v-else>-</p>
                                    </el-col>
                                </el-row>
                                <el-row :gutter="20">
                                    <el-col :span="24">
                                        <p class="drawer_sub_title">
                                            <span class="sub_title_line">控制源</span>
                                        </p>
                                        <vxe-table height="300" :data="state.controlSourceData.tabledata"
                                            border="inner">
                                            <vxe-column v-for="(item,index) in state.controlSourceData.tableheads"
                                                :field="item.field" :title="item.title" :params="{name:item.name}"
                                                :width="item.width?item.width:''" :key="index">
                                            </vxe-column>
                                        </vxe-table>
                                        <vxe-pager v-if="state.controlSourceData.total>0"
                                            @page-change="controlSourceDatapagechange" :background="false" class="allbk"
                                            align="right"
                                            :layouts="['PrevJump', 'PrevPage', 'JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
                                            v-model:current-page="state.controlSourceData.query.pageNum"
                                            v-model:page-size="state.controlSourceData.query.pageSize"
                                            :total="state.controlSourceData.total">
                                        </vxe-pager>
                                    </el-col>
                                </el-row>
                            </div>
                        </el-form>
                    </div>
                </el-col>
            </el-row>
        </el-card>
    </div>
</template>
<script setup>
    import {
        ref,
        onMounted
    } from "vue";
    import {
        ElMessage,
        ElMessageBox
    } from 'element-plus'
    import CircularJSON from 'circular-json'
    import list_controller from "@/components/commonCom/list_controller";
    import
    temconfigCom
    from '@/components/commonCom/temconfigCom';
    import
    oneclickDelivery
    from '@/components/commonCom/oneclickDelivery';
    import {
        computed,
        reactive
    } from "vue";
    import {
        table_headers
    } from '@/components/commonCom/table_headers';
    import axios from "@/utils/request"
    import usePagesStore from '@/store/modules/pages'
    import {
        getsearchTree,
        getsubstation,
        getstationNos,
        getaddressInfo,
        gettypesInfo,
        getpointCodes,
        getpointsensor,
        getinfosearchAll,
        getfeedList,
        controlPortsList,
        getmultipleList,
        searchchannelNoList,
        getTemplateTreeList,
        getPointIdsList,
        searchexpressionList
    } from '@/api/config'
    const {
        proxy
    } = getCurrentInstance();
    const store = usePagesStore()
    import useUserStore from "@/store/modules/user";
    const userStore = useUserStore();
    const router = useRouter();
    let pointtree = ref(null)
    const expressionVoList = (rule, value, callback) => {
        state.expressionVoList.forEach(item => {
            if (item.value == null || item.value == '')
                return callback(new Error("请选择测点!"));
        })
        callback();
    }
    /** 自定义校验 */
    // ip
    const validateip = (rule, value, callback) => {
        let reg =
            /^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[0-9])\.((1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.){2}(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/
        if (!reg.test(value))
            return callback(new Error("请输入正确的IP"));
        callback();
    }
    // 端口
    const validatePass = (rule, value, callback) => {
        let reg = new RegExp(/^([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{4}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/);
        if (!reg.test(value))
            return callback(new Error("请输入正确端口(0-65535)"));
        callback();
    }
    // 上限报警值
    const validatealarmType1 = (rule, value, callback) => {
        if (Number(state.formData1.alarmBasic.upAlarmValue) < Number(state.formData1.alarmBasic.upRelieveValue))
            return callback(new Error("上限报警值大于等于上限解报值!"));

        if (!state.formData1.alarmBasic.upAlarmValue || !state.formData1.alarmBasic.upRelieveValue)
            return callback(new Error("请输入上限报警值或上限解报值!"));

        if (Number(state.formData1.alarmBasic.upAlarmValue) > Number(state.scaleUp) || Number(state.formData1
                .alarmBasic.upAlarmValue) < Number(state.scaleDown))
            return callback(new Error("上限报警值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));

        if (Number(state.formData1.alarmBasic.upRelieveValue) > Number(state.scaleUp) || Number(state.formData1
                .alarmBasic.upRelieveValue) < Number(state.scaleDown))
            return callback(new Error("上限解报值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));
        callback();

    }

    // 下限报警值
    const validatealarmType2 = (rule, value, callback) => {
        if (Number(state.formData1.alarmBasic.downAlarmValue) > Number(state.formData1.alarmBasic
                .downRelieveValue))
            return callback(new Error("上限报警值大于等于上限解报值!"));

        if (!state.formData1.alarmBasic.downAlarmValue || !state.formData1.alarmBasic.downRelieveValue)
            return callback(new Error("请输入上限报警值或上限解报值!"));

        if (Number(state.formData1.alarmBasic.downAlarmValue) > Number(state.scaleUp) || Number(state.formData1
                .alarmBasic.downAlarmValue) < Number(state.scaleDown))
            return callback(new Error("下限报警值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));

        if (Number(state.formData1.alarmBasic.downRelieveValue) > Number(state.scaleUp) || Number(state.formData1
                .alarmBasic.downRelieveValue) < Number(state.scaleDown))
            return callback(new Error("下限解报值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));
        callback();
    }
    // 断电值≥
    const validatecutValue = (rule, value, callback) => {
        if (Number(state.formData1.cutArea.cutValue) < Number(state.formData1.cutArea.resumeValue))
            return callback(new Error("断电值要大于等于复电值"));

        if (Number(state.formData1.cutArea.cutValue) > Number(state.scaleUp) || Number(state.formData1.cutArea
                .cutValue) < Number(state.scaleDown))
            return callback(new Error("断电值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));
        callback();
    }
    const validatecutValue1 = (rule, value, callback) => {
        if (state.formData1.cutValueList.length > 0) {
            state.formData1.cutValueList.forEach((item, index) => {
                if (state.ordintranValue == index) {
                    if (item.cutType == 1) {
                        if (Number(item.cutValue) < Number(item.resumeValue))
                            return callback(new Error("上限断电值要大于等于上限复电值"));

                        if (Number(item.cutValue) > Number(state.scaleUp) || Number(item.cutValue) < Number(
                                state.scaleDown))
                            return callback(new Error("断电值不在量程范围内" + state.scaleDown + '~' + state
                                .scaleUp));
                        callback()
                    } else {
                        if (Number(item.cutValue) > Number(item.resumeValue))
                            return callback(new Error("下限断电值要小于下限复电值"));

                        if (Number(item.cutValue) > Number(state.scaleUp) || Number(item.cutValue) < Number(
                                state.scaleDown))
                            return callback(new Error("断电值不在量程范围内" + state.scaleDown + '~' + state
                                .scaleUp));
                        callback()
                    }


                }
            })
        }
    }
    const validatecutValue2 = (rule, value, callback) => {
        if (state.formData1.cutValueList.length > 0) {
            state.formData1.cutValueList.forEach((item, index) => {
                if (state.ordintranValue == index) {
                    if (item.cutType == 1) {
                        if (Number(item.cutValue) < Number(item.resumeValue))
                            return callback(new Error("下限断电值要大于等于下限复电值"));

                        if (Number(item.resumeValue) > Number(state.scaleUp) || Number(item.resumeValue) <
                            Number(state.scaleDown))
                            return callback(new Error("复电值不在量程范围内" + state.scaleDown + '~' + state
                                .scaleUp));
                        callback()
                    } else {
                        if (Number(item.cutValue) > Number(item.resumeValue))
                            return callback(new Error("下限断电值要小于下限复电值"));

                        if (Number(item.resumeValue) > Number(state.scaleUp) || Number(item.resumeValue) <
                            Number(state.scaleDown))
                            return callback(new Error("复电值不在量程范围内" + state.scaleDown + '~' + state
                                .scaleUp));
                        callback()
                    }

                }
            })
        }
        callback();
    }
    const validateupPrealarmValue = (rule, value, callback) => {
        if (state.formData1.alarmBasic.alarmType != 0) {
            if (!state.formData1.prealarmBasic.upPrealarmValue)
                return callback(new Error("请输入上限预报值"));

            if (Number(state.formData1.prealarmBasic.upPrealarmValue) > Number(state.formData1.alarmBasic
                    .upAlarmValue))
                return callback(new Error("上限预报值要小于上限报警值"));
            if (Number(state.formData1.prealarmBasic.upPrealarmValue) < Number(state.formData1.alarmBasic
                    .downAlarmValue))
                return callback(new Error("上限预报值要大于下限报警值"));
            if (Number(state.formData1.prealarmBasic.upPrealarmValue) < Number(state.formData1.alarmBasic
                    .downAlarmValue))
                return callback(new Error("上限预报值要大于下限预报值"));

            if (Number(state.formData1.prealarmBasic.upPrealarmValue) > Number(state.scaleUp) || Number(state
                    .formData1
                    .prealarmBasic.upPrealarmValue) < Number(state.scaleDown))
                return callback(new Error("上限预报值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));
            callback();
        } else {
            callback();
        }
    }
    const validateupPrealarmValue2 = (rule, value, callback) => {
        if (state.formData1.alarmBasic.alarmType != 0) {
            if (!state.formData1.prealarmBasic.downPrealarmValue)
                return callback(new Error("请输入下限预报值"));

            if (Number(state.formData1.prealarmBasic.downPrealarmValue) > Number(state.formData1.alarmBasic
                    .upAlarmValue))
                return callback(new Error("下限预报值要小于上限报警值"));
            if (Number(state.formData1.prealarmBasic.downPrealarmValue) < Number(state.formData1.alarmBasic
                    .downAlarmValue))
                return callback(new Error("下限预报值要大于下限报警值"));
            if (Number(state.formData1.prealarmBasic.downPrealarmValue) > Number(state.formData1.alarmBasic
                    .upPrealarmValue))
                return callback(new Error("上限预报值要大于下限预报值"));

            if (Number(state.formData1.prealarmBasic.downPrealarmValue) > Number(state.scaleUp) || Number(state
                    .formData1.prealarmBasic.downPrealarmValue) < Number(state.scaleDown))
                return callback(new Error("下限预报值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));
            callback();
        } else {
            callback();
        }
    }
    /**
     * 分级报警
     */
    // 上限-持续时间
    // 6一级=二级>三级>四级>五级>六级

    const grandsixTimevalidate = (rule, value, callback) => {
        if (value > Number(state.formData1.upGrandalarmBasic.grandfiveTime) || value == Number(state.formData1
                .upGrandalarmBasic.grandfiveTime))
            return callback(new Error("六级报警持续时间要小于五级报警持续时间"));
        callback();
    }
    const grandfiveTimevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandsixTime) || value == Number(state.formData1
                .upGrandalarmBasic.grandsixTime))
            return callback(new Error("六级报警持续时间要小于五级报警持续时间"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandfourTime) || value == Number(state.formData1
                .upGrandalarmBasic.grandfourTime))
            return callback(new Error("五级报警持续时间要小于四级报警持续时间"));
        callback();

    }
    const grandfourTimevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandfiveTime) || value == Number(state.formData1
                .upGrandalarmBasic.grandfiveTime))
            return callback(new Error("五级报警持续时间要小于四级报警持续时间"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandthreeTime) || value == Number(state.formData1
                .upGrandalarmBasic.grandthreeTime))
            return callback(new Error("四级报警持续时间要小于三级报警持续时间"));
        callback();
    }
    const grandthreeTimevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandfourTime) || value == Number(state.formData1
                .upGrandalarmBasic.grandfourTime))
            return callback(new Error("四级报警持续时间要小于三级报警持续时间"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandtwoTime) || value == Number(state.formData1
                .upGrandalarmBasic.grandtwoTime))
            return callback(new Error("三级报警持续时间要小于二级报警持续时间"));
        callback();
    }
    const grandtwoTimevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandthreeTime) || value == Number(state.formData1
                .upGrandalarmBasic.grandthreeTime))
            return callback(new Error("三级报警持续时间要小于二级报警持续时间"));
        if (value != Number(state.formData1.upGrandalarmBasic.grandoneTime))
            return callback(new Error("二级报警持续时间要等于一级报警持续时间"));
        callback();
    }
    const grandoneTimevalidate = (rule, value, callback) => {
        if (value != Number(state.formData1.upGrandalarmBasic.grandtwoTime))
            return callback(new Error("二级报警持续时间要等于一级报警持续时间"));
        callback();
    }
    // 多参测点
    const mulgrandsixTimevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value > Number(item.upGrandalarmBasic.grandfiveTime) || value == Number(item
                    .upGrandalarmBasic.grandfiveTime))
                return callback(new Error("六级报警持续时间要小于五级报警持续时间"));
            callback();
        })
    }
    const mulgrandfiveTimevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value < Number(item.upGrandalarmBasic.grandsixTime) || value == Number(item
                    .upGrandalarmBasic.grandsixTime))
                return callback(new Error("六级报警持续时间要小于五级报警持续时间"));
            if (value > Number(item.upGrandalarmBasic.grandfourTime) || value == Number(item
                    .upGrandalarmBasic.grandfourTime))
                return callback(new Error("五级报警持续时间要小于四级报警持续时间"));
            callback();
        })

    }
    const mulgrandfourTimevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value < Number(item.upGrandalarmBasic.grandfiveTime) || value == Number(item
                    .upGrandalarmBasic.grandfiveTime))
                return callback(new Error("五级报警持续时间要小于四级报警持续时间"));
            if (value > Number(item.upGrandalarmBasic.grandthreeTime) || value == Number(item
                    .upGrandalarmBasic.grandthreeTime))
                return callback(new Error("四级报警持续时间要小于三级报警持续时间"));
            callback();
        })
    }
    const mulgrandthreeTimevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value < Number(item.upGrandalarmBasic.grandfourTime) || value == Number(item
                    .upGrandalarmBasic.grandfourTime))
                return callback(new Error("四级报警持续时间要小于三级报警持续时间"));
            if (value > Number(item.upGrandalarmBasic.grandtwoTime) || value == Number(item
                    .upGrandalarmBasic.grandtwoTime))
                return callback(new Error("三级报警持续时间要小于二级报警持续时间"));
            callback();
        })
    }
    const mulgrandtwoTimevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value < Number(item.upGrandalarmBasic.grandthreeTime) || value == Number(item
                    .upGrandalarmBasic.grandthreeTime))
                return callback(new Error("三级报警持续时间要小于二级报警持续时间"));
            if (value != Number(item.upGrandalarmBasic.grandoneTime))
                return callback(new Error("二级报警持续时间要等于一级报警持续时间"));
            callback();
        })
    }
    const mulgrandoneTimevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value != Number(item.upGrandalarmBasic.grandtwoTime))
                return callback(new Error("二级报警持续时间要等于一级报警持续时间"));
            callback();
        })
    }
    // 报警值一级>二级>三级>四级
    const grandsixValuevalidate = (rule, value, callback) => {
        if (value > Number(state.formData1.upGrandalarmBasic.grandfiveValue) || value == Number(state.formData1
                .upGrandalarmBasic.grandfiveValue))
            return callback(new Error("六级报警值要小于五级报警值"));
        callback();
    }
    // 5
    const grandfiveValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandsixValue) || value == Number(state.formData1
                .upGrandalarmBasic.grandsixValue))
            return callback(new Error("五级报警值要大于六级报警值"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandfourValue) || value == Number(state.formData1
                .upGrandalarmBasic.grandfourValue))
            return callback(new Error("五级报警值要小于四级报警值"));
        callback();
    }
    // 4
    const grandfourValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandfiveValue) || value == Number(state.formData1
                .upGrandalarmBasic.grandfiveValue))
            return callback(new Error("四级报警值要大于五级报警值"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandthreeValue) || value == Number(state.formData1
                .upGrandalarmBasic.grandthreeValue))
            return callback(new Error("四级报警值要小于三级报警值"));
        callback();
    }
    const grandthreeValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandfourValue) || value == Number(state.formData1
                .upGrandalarmBasic.grandfourValue))
            return callback(new Error("四级报警值要小于三级报警值"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandtwoValue) || value == Number(state.formData1
                .upGrandalarmBasic.grandtwoValue))
            return callback(new Error("三级报警值要小于二级报警值"));
        callback();
    }
    const grandtwoValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandthreeValue) || value == Number(state.formData1
                .upGrandalarmBasic.grandthreeValue))
            return callback(new Error("三级报警值要小于二级报警值"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandoneValue) || value == Number(state.formData1
                .upGrandalarmBasic.grandoneValue))
            return callback(new Error("二级报警值要小于一级报警值"));
        callback();
    }
    const grandoneValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandtwoValue) || value == Number(state.formData1
                .upGrandalarmBasic.grandtwoValue))
            return callback(new Error("二级报警值要小于一级报警值"));
        callback();
    }
    // 多参测点
    const mulgrandsixValuevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value > Number(item.upGrandalarmBasic.grandfiveValue) || value == Number(item
                    .upGrandalarmBasic.grandfiveValue))
                return callback(new Error("六级报警值要小于五级报警值"));
            callback();
        })
    }
    // 5
    const mulgrandfiveValuevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value < Number(item.upGrandalarmBasic.grandsixValue) || value == Number(item
                    .upGrandalarmBasic.grandsixValue))
                return callback(new Error("五级报警值要大于六级报警值"));
            if (value > Number(item.upGrandalarmBasic.grandfourValue) || value == Number(item
                    .upGrandalarmBasic.grandfourValue))
                return callback(new Error("五级报警值要小于四级报警值"));
            callback();
        })
    }
    // 4
    const mulgrandfourValuevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value < Number(item.upGrandalarmBasic.grandfiveValue) || value == Number(item
                    .upGrandalarmBasic.grandfiveValue))
                return callback(new Error("四级报警值要大于五级报警值"));
            if (value > Number(item.upGrandalarmBasic.grandthreeValue) || value == Number(item
                    .upGrandalarmBasic.grandthreeValue))
                return callback(new Error("四级报警值要小于三级报警值"));
            callback();
        })
    }
    const mulgrandthreeValuevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value < Number(item.upGrandalarmBasic.grandfourValue) || value == Number(item
                    .upGrandalarmBasic.grandfourValue))
                return callback(new Error("四级报警值要小于三级报警值"));
            if (value > Number(item.upGrandalarmBasic.grandtwoValue) || value == Number(item
                    .upGrandalarmBasic.grandtwoValue))
                return callback(new Error("三级报警值要小于二级报警值"));
            callback();
        })
    }
    const mulgrandtwoValuevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value < Number(item.upGrandalarmBasic.grandthreeValue) || value == Number(item
                    .upGrandalarmBasic.grandthreeValue))
                return callback(new Error("三级报警值要小于二级报警值"));
            if (value > Number(item.upGrandalarmBasic.grandoneValue) || value == Number(item
                    .upGrandalarmBasic.grandoneValue))
                return callback(new Error("二级报警值要小于一级报警值"));
            callback();
        })
    }
    const mulgrandoneValuevalidate = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (value < Number(item.upGrandalarmBasic.grandtwoValue) || value == Number(state.formData1
                    .upGrandalarmBasic.grandtwoValue))
                return callback(new Error("二级报警值要小于一级报警值"));
            callback();
        })
    }
    // 涨幅≥一级>二级>三级>四级
    // 6
    const grandsixRatevalidate = (rule, value, callback) => {
        if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
                state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue))
            return callback(new Error("五级涨幅要大于六级涨幅"));
        callback();
    }
    // 5
    const grandfiveRatevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateSixValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateSixValue))
            return callback(new Error("五级涨幅要大于六级涨幅"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
                state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue))
            return callback(new Error("五级涨幅要小于四级涨幅"));
        callback();
    }
    const rateFourValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue))
            return callback(new Error("四级涨幅要大于五级涨幅"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue))
            return callback(new Error("四级涨幅要小于三级涨幅"));
        callback();
    }
    const rateThreeValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateFourValue))
            return callback(new Error("四级涨幅要小于三级涨幅"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue))
            return callback(new Error("三级涨幅要小于二级涨幅"));
        callback();
    }
    const rateTwoValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue))
            return callback(new Error("三级涨幅要小于二级涨幅"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateOneValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateOneValue))
            return callback(new Error("二级涨幅要小于一级涨幅"));
        callback();
    }
    const rateOneValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue))
            return callback(new Error("二级涨幅要小于一级涨幅"));
        callback();
    }
    // 多参测点
    const mulgrandsixRatevalidate = (rule, value, callback) => {
        if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
                state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue))
            return callback(new Error("五级涨幅要大于六级涨幅"));
        callback();
    }
    // 5
    const mulgrandfiveRatevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateSixValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateSixValue))
            return callback(new Error("五级涨幅要大于六级涨幅"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
                state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue))
            return callback(new Error("五级涨幅要小于四级涨幅"));
        callback();
    }
    const mulrateFourValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue))
            return callback(new Error("四级涨幅要大于五级涨幅"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue))
            return callback(new Error("四级涨幅要小于三级涨幅"));
        callback();
    }
    const mulrateThreeValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateFourValue))
            return callback(new Error("四级涨幅要小于三级涨幅"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue))
            return callback(new Error("三级涨幅要小于二级涨幅"));
        callback();
    }
    const mulrateTwoValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue))
            return callback(new Error("三级涨幅要小于二级涨幅"));
        if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateOneValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateOneValue))
            return callback(new Error("二级涨幅要小于一级涨幅"));
        callback();
    }
    const mulrateOneValuevalidate = (rule, value, callback) => {
        if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(state
                .formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue))
            return callback(new Error("二级涨幅要小于一级涨幅"));
        callback();
    }
    // 下限
    // 报警值一级<二级<三级<四级<五级<六级
    // 6
    const grandsixValuevalidate1 = (rule, value, callback) => {
        if (value < Number(state.formData1.downGrandalarmBasic.grandfiveValue) || value == Number(state.formData1
                .downGrandalarmBasic.grandfiveValue))
            return callback(new Error("六级报警值要大于五级报警值"));
        callback();
    }
    // 5
    const grandfiveValuevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandsixValue) || value == Number(state.formData1
                .downGrandalarmBasic.grandsixValue))
            return callback(new Error("五级报警值要小于六级报警值"));
        if (value < Number(state.formData1.downGrandalarmBasic.grandfourValue) || value == Number(state.formData1
                .downGrandalarmBasic.grandfourValue))
            return callback(new Error("五级报警值要大于四级报警值"));
        callback();
    }
    // 4
    const grandfourValuevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandfiveValue) || value == Number(state.formData1
                .downGrandalarmBasic.grandfiveValue))
            return callback(new Error("四级报警值要小于五级报警值"));
        if (value < Number(state.formData1.downGrandalarmBasic.grandthreeValue) || value == Number(state.formData1
                .downGrandalarmBasic.grandthreeValue))
            return callback(new Error("四级报警值要大于三级报警值"));
        callback();
    }
    // 3
    const grandthreeValuevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandfourValue) || value == Number(state.formData1
                .downGrandalarmBasic.grandfourValue))
            return callback(new Error("三级报警值要小于四级报警值"));
        if (value < Number(state.formData1.downGrandalarmBasic.grandtwoValue) || value == Number(state.formData1
                .downGrandalarmBasic.grandtwoValue))
            return callback(new Error("三级报警值要大于二级报警值"));
        callback();
    }
    // 2
    const grandtwoValuevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandthreeValue) || value == Number(state.formData1
                .downGrandalarmBasic.grandthreeValue))
            return callback(new Error("二级报警值要小于三级报警值"));
        if (value < Number(state.formData1.downGrandalarmBasic.grandoneValue) || value == Number(state.formData1
                .downGrandalarmBasic.grandoneValue))
            return callback(new Error("二级报警值要大于一级报警值"));
        callback();
    }
    // 1
    const grandoneValuevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandtwoValue))
            return callback(new Error("二级报警值要小于一级报警值"));
        callback();
    }
    // 多参测点
    const mulgrandsixValuevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value < Number(item.downGrandalarmBasic.grandfiveValue) || value == Number(item
                    .downGrandalarmBasic.grandfiveValue))
                return callback(new Error("六级报警值要大于五级报警值"));
            callback();
        })
    }
    // 5
    const mulgrandfiveValuevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandsixValue) || value == Number(item
                    .downGrandalarmBasic.grandsixValue))
                return callback(new Error("五级报警值要小于六级报警值"));
            if (value < Number(item.downGrandalarmBasic.grandfourValue) || value == Number(item
                    .downGrandalarmBasic.grandfourValue))
                return callback(new Error("五级报警值要大于四级报警值"));
            callback();
        })
    }
    // 4
    const mulgrandfourValuevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandfiveValue) || value == Number(item
                    .downGrandalarmBasic.grandfiveValue))
                return callback(new Error("四级报警值要小于五级报警值"));
            if (value < Number(item.downGrandalarmBasic.grandthreeValue) || value == Number(item
                    .downGrandalarmBasic.grandthreeValue))
                return callback(new Error("四级报警值要大于三级报警值"));
            callback();
        })
    }
    // 3
    const mulgrandthreeValuevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandfourValue) || value == Number(item
                    .downGrandalarmBasic.grandfourValue))
                return callback(new Error("三级报警值要小于四级报警值"));
            if (value < Number(item.downGrandalarmBasic.grandtwoValue) || value == Number(item
                    .downGrandalarmBasic.grandtwoValue))
                return callback(new Error("三级报警值要大于二级报警值"));
            callback();
        })
    }
    // 2
    const mulgrandtwoValuevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandthreeValue) || value == Number(item
                    .downGrandalarmBasic.grandthreeValue))
                return callback(new Error("二级报警值要小于三级报警值"));
            if (value < Number(item.downGrandalarmBasic.grandoneValue) || value == Number(item
                    .downGrandalarmBasic.grandoneValue))
                return callback(new Error("二级报警值要大于一级报警值"));
            callback();
        })
    }
    // 1
    const mulgrandoneValuevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandtwoValue))
                return callback(new Error("二级报警值要小于一级报警值"));
            callback();
        })
    }
    // 持续时间
    // 6
    const grandsixTimevalidate1 = (rule, value, callback) => {
        if (value < Number(state.formData1.downGrandalarmBasic.grandfiveTime) || value == Number(state.formData1
                .downGrandalarmBasic.grandfiveTime))
            return callback(new Error("六级持续时间要大于五级持续时间"));
        callback();
    }
    // 5
    const grandfiveTimevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandsixTime) || value == Number(state.formData1
                .downGrandalarmBasic.grandsixTime))
            return callback(new Error("五级持续时间要小于六级持续时间"));
        if (value < Number(state.formData1.downGrandalarmBasic.grandfourTime) || value == Number(state.formData1
                .downGrandalarmBasic.grandfourTime))
            return callback(new Error("五级持续时间要大于四级持续时间"));
        callback();
    }
    // 4
    const grandfourTimevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandfiveTime) || value == Number(state.formData1
                .downGrandalarmBasic.grandfiveTime))
            return callback(new Error("四级持续时间要小于五级持续时间"));
        if (value < Number(state.formData1.downGrandalarmBasic.grandthreeTime) || value == Number(state.formData1
                .downGrandalarmBasic.grandthreeTime))
            return callback(new Error("四级持续时间要大于三级持续时间"));
        callback();
    }
    // 3
    const grandthreeTimevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandfourTime) || value == Number(state.formData1
                .downGrandalarmBasic.grandfourTime)) {
            return callback(new Error("三级持续时间要小于四级持续时间"));
        }
        if (value < Number(state.formData1.downGrandalarmBasic.grandtwoTime) || value == Number(state.formData1
                .downGrandalarmBasic.grandtwoTime)) {
            return callback(new Error("三级持续时间要大于二级持续时间"));
        }
        callback();
    }
    // 2
    const grandtwoTimevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandthreeTime) || value == Number(state.formData1
                .downGrandalarmBasic.grandthreeTime))
            return callback(new Error("二级持续时间要小于三级持续时间"));
        if (value != Number(state.formData1.downGrandalarmBasic.grandoneTime))
            return callback(new Error("二级持续时间要等于一级持续时间"));
        callback();
    }
    // 1
    const grandoneTimevalidate1 = (rule, value, callback) => {
        if (value != Number(state.formData1.downGrandalarmBasic.grandtwoTime))
            return callback(new Error("二级持续时间要等于一级持续时间"));
        callback();
    }
    // 多参测点
    // 6
    const mulgrandsixTimevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value < Number(item.downGrandalarmBasic.grandfiveTime) || value == Number(item
                    .downGrandalarmBasic.grandfiveTime))
                return callback(new Error("六级持续时间要大于五级持续时间"));
            callback();
        })
    }
    // 5
    const mulgrandfiveTimevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandsixTime) || value == Number(item
                    .downGrandalarmBasic.grandsixTime))
                return callback(new Error("五级持续时间要小于六级持续时间"));
            if (value < Number(item.downGrandalarmBasic.grandfourTime) || value == Number(item
                    .downGrandalarmBasic.grandfourTime))
                return callback(new Error("五级持续时间要大于四级持续时间"));
            callback();
        })
    }
    // 4
    const mulgrandfourTimevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandfiveTime) || value == Number(item
                    .downGrandalarmBasic.grandfiveTime))
                return callback(new Error("四级持续时间要小于五级持续时间"));
            if (value < Number(item.downGrandalarmBasic.grandthreeTime) || value == Number(item
                    .downGrandalarmBasic.grandthreeTime))
                return callback(new Error("四级持续时间要大于三级持续时间"));
            callback();
        })
    }
    // 3
    const mulgrandthreeTimevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandfourTime) || value == Number(item
                    .downGrandalarmBasic.grandfourTime)) {
                return callback(new Error("三级持续时间要小于四级持续时间"));
            }
            if (value < Number(item.downGrandalarmBasic.grandtwoTime) || value == Number(item
                    .downGrandalarmBasic.grandtwoTime)) {
                return callback(new Error("三级持续时间要大于二级持续时间"));
            }
            callback();
        })
    }
    // 2
    const mulgrandtwoTimevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandthreeTime) || value == Number(item
                    .downGrandalarmBasic.grandthreeTime))
                return callback(new Error("二级持续时间要小于三级持续时间"));
            if (value != Number(item.downGrandalarmBasic.grandoneTime))
                return callback(new Error("二级持续时间要等于一级持续时间"));
            callback();
        })
    }
    // 1
    const mulgrandoneTimevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value != Number(item.downGrandalarmBasic.grandtwoTime))
                return callback(new Error("二级持续时间要等于一级持续时间"));
            callback();
        })
    }
    // 涨幅
    // 6
    const grandsixRatevalidate1 = (rule, value, callback) => {
        if (value < Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
                state.formData1.downGrandalarmBasic.grandalarmRate.rateFiveValue))
            return callback(new Error("五级跌幅要小于六级跌幅"));
        callback();
    }
    // 5
    const grandfiveRatevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateSixValue) || value == Number(state
                .formData1.downGrandalarmBasic.grandalarmRate.rateSixValue))
            return callback(new Error("五级跌幅要小于六级跌幅"));
        if (value < Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
                state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue))
            return callback(new Error("五级跌幅要大于四级跌幅"));
        callback();
    }
    // 4
    const grandfourRatevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
                state.formData1.downGrandalarmBasic.grandalarmRate.rateFiveValue))
            return callback(new Error("四级跌幅要小于五级跌幅"));
        if (value < Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(
                state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue))
            return callback(new Error("四级跌幅要大于三级跌幅"));
        callback();
    }
    // 3
    const grandthreeRatevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
                state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue))
            return callback(new Error("三级跌幅要小于四级跌幅"));
        if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(state
                .formData1.downGrandalarmBasic.grandalarmRate.rateTwoValue))
            return callback(new Error("三级跌幅要大于二级跌幅"));
        callback();
    }
    // 2
    const grandtwoRatevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(
                state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue))
            return callback(new Error("二级跌幅要小于三级跌幅"));
        if (value < Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateOneValue) || value == Number(state
                .formData1.downGrandalarmBasic.grandalarmRate.rateOneValue))
            return callback(new Error("二级跌幅要大于一级跌幅"));
        callback();
    }
    // 1
    const grandoneRatevalidate1 = (rule, value, callback) => {
        if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateTwoValue))
            return callback(new Error("二级跌幅要大于一级跌幅"));
        callback();
    }
    // 多参测点
    // 6
    const mulgrandsixRatevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value < Number(item.downGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
                    item.downGrandalarmBasic.grandalarmRate.rateFiveValue))
                return callback(new Error("五级跌幅要小于六级跌幅"));
            callback();
        })
    }
    // 5
    const mulgrandfiveRatevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateSixValue) || value == Number(item
                    .downGrandalarmBasic.grandalarmRate.rateSixValue))
                return callback(new Error("五级跌幅要小于六级跌幅"));
            if (value < Number(item.downGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
                    item.downGrandalarmBasic.grandalarmRate.rateFourValue))
                return callback(new Error("五级跌幅要大于四级跌幅"));
            callback();
        })
    }
    // 4
    const mulgrandfourRatevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
                    item.downGrandalarmBasic.grandalarmRate.rateFiveValue))
                return callback(new Error("四级跌幅要小于五级跌幅"));
            if (value < Number(item.downGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(
                    item.downGrandalarmBasic.grandalarmRate.rateThreeValue))
                return callback(new Error("四级跌幅要大于三级跌幅"));
            callback();
        })
    }
    // 3
    const mulgrandthreeRatevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
                    item.downGrandalarmBasic.grandalarmRate.rateFourValue))
                return callback(new Error("三级跌幅要小于四级跌幅"));
            if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(item
                    .downGrandalarmBasic.grandalarmRate.rateTwoValue))
                return callback(new Error("三级跌幅要大于二级跌幅"));
            callback();
        })
    }
    // 2
    const mulgrandtwoRatevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(
                    item.downGrandalarmBasic.grandalarmRate.rateThreeValue))
                return callback(new Error("二级跌幅要小于三级跌幅"));
            if (value < Number(item.downGrandalarmBasic.grandalarmRate.rateOneValue) || value == Number(item
                    .downGrandalarmBasic.grandalarmRate.rateOneValue))
                return callback(new Error("二级跌幅要大于一级跌幅"));
            callback();
        })
    }
    // 1
    const mulgrandoneRatevalidate1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList(item => {
            if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateTwoValue))
                return callback(new Error("二级跌幅要大于一级跌幅"));
            callback();
        })
    }
    // 虚拟测点
    const mulupAlarmValuevalite = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (item.alarmBasic != null) {
                if (!Number(item.alarmBasic.upAlarmValue) || !Number(item.alarmBasic
                        .upRelieveValue))
                    return callback(new Error("请输入上限报警值或解报值"));
                if (Number(item.alarmBasic.upAlarmValue) < Number(item.alarmBasic.upRelieveValue))
                    return callback(new Error("上限报警值要大于解报值"));
                callback()
            }
        })
    }
    const muldownAlarmValuevalite = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (item.alarmBasic != null) {
                if (!Number(item.alarmBasic.downAlarmValue) || !Number(item.alarmBasic
                        .downRelieveValue))
                    return callback(new Error("请输入下限报警值或解报值"));
                if (Number(item.alarmBasic.downAlarmValue) > Number(item.alarmBasic
                        .downRelieveValue))
                    return callback(new Error("下限报警值要小于解报值"));
                callback()
            }
        })
    }
    const mulmulcutValue = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (item.cutValueList != null && item.cutValueList.length > 0) {
                item.cutValueList.forEach(item1 => {
                    if (Number(item1.cutValue) < Number(item1.resumeValue))
                        return callback(new Error("上限断电值要大于复电值"));
                    callback()
                })
            }
        })
    }
    const mulresumeValue = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (item.cutValueList != null && item.cutValueList.length > 0) {
                item.cutValueList.forEach(item1 => {
                    if (Number(item1.cutValue) < Number(item1.resumeValue))
                        return callback(new Error("上限断电值要小于复电值"));
                    callback()
                })
            }
        })
    }
    const mulmulcutValue1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (item.cutValueList != null && item.cutValueList.length > 0) {
                item.cutValueList.forEach(item1 => {
                    if (Number(item1.cutValue) > Number(item1.resumeValue))
                        return callback(new Error("下限断电值要小于复电值"));
                    callback()
                })
            }
        })
    }
    const mulresumeValue1 = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (item.cutValueList != null && item.cutValueList.length > 0) {
                item.cutValueList.forEach(item1 => {
                    if (Number(item1.cutValue) > Number(item1.resumeValue))
                        return callback(new Error("下限断电值要小于复电值"));
                    callback()
                })
            }
        })
    }
    const mulareacutValue = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (item.cutArea != null) {
                if (Number(item.cutArea.cutValue) < Number(item.cutArea.resumeValue))
                    return callback(new Error("断电值要大于复电值"));
                callback()
            }
        })
    }
    const mularearesumeValue = (rule, value, callback) => {
        state.formData1.multiplePointBranchList.forEach(item => {
            if (item.cutArea != null) {
                if (Number(item.cutArea.cutValue) < Number(item.cutArea.resumeValue))
                    return callback(new Error("断电值要大于复电值"));
                callback()
            }
        })
    }
    const state = reactive({
        addtemModal: false,
        mobanType: 1,
        conditionList1: [{
            name: '分站模板',
            code: 1
        }, {
            name: '电源模板',
            code: 2
        }, {
            name: '分析模板',
            code: 'A'
        }, {
            name: '表达式',
            code: 'B'
        }],
        curTreeId: undefined,
        radio1: '', //上下级分级切换
        datatreeId: undefined, //左侧树形分站id
        datatreeCode: undefined, //左侧树形分站code
        treestationTypeId: undefined, //左侧树形
        datatree: [], //左侧树形
        addShowTtation: false, //新增分站弹框
        addShowPoint: false, //新增测点弹框
        addShowdetailPoint: false, //测点详情
        detailShowTtation: false, //分站详情
        nodetailShowTtation: true, //有左侧数据展示页面
        addShowOpenShow: false, //新增开出口
        addShowOpendetailShow: false, //开出口详情
        defaultProps: {
            children: 'children',
            label: 'label',
        }, //左侧树形
        activeName: 1, //分站信息tab
        activeName1: 1, //
        activeNameList: [{
            name: '关联电源',
            type: 1
        }, {
            name: '其他配置',
            type: 2
        }, {
            name: '操作日志',
            type: 3
        }],
        treeSearch: '', //左侧树形搜索
        options: { //关联电源--操作日志
            tableheads: computed(() => table_headers.sensorSimulate),
            queryList: {
                dropdownUrl: '',
                querys: [{
                    field: 'sensorName',
                    title: '电源类型',
                    type: 'select',
                    binddata: ''
                }, {
                    field: 'sensorName',
                    title: '关联状态',
                    type: 'select',
                    binddata: ''
                }],
                queryMap: new Map([
                    ['sensorTypeId', 'safety_pointType'],
                    ['deviceTypeId', 'safety_deviceType'],
                    ['alarmTypeId', 'alarmType']
                ])
            },
            dataUrl: '/sensor/simulate/list',
            delUrl: '/sensor/simulate/delete',
            addUrl: '/sensor/simulate/add',
            descUrl: '/sensor/simulate/detail?id=',
            editUrl: '/sensor/simulate/edit',
        },
        options1: {
            tableheads: computed(() => table_headers.sensorSimulate),
            queryList: {
                dropdownUrl: '',
                querys: [{
                    field: 'sensorName',
                    title: '操作模块',
                    type: 'input',
                    binddata: ''
                }, {
                    field: 'sensorName',
                    title: '操作人',
                    type: 'select',
                    binddata: ''
                }, {
                    require: true,
                    field: 'time',
                    title: '时间',
                    type: 'datetimerange',
                    binddata: ''
                }],
                queryMap: new Map([
                    ['sensorTypeId', 'safety_pointType'],
                    ['deviceTypeId', 'safety_deviceType'],
                    ['alarmTypeId', 'alarmType']
                ])
            },
            dataUrl: '/sensor/simulate/list',
            delUrl: '/sensor/simulate/delete',
            addUrl: '/sensor/simulate/add',
            descUrl: '/sensor/simulate/detail?id=',
            editUrl: '/sensor/simulate/edit',
        },
        // 表单--分站信息
        stationDis: false,
        addModal: false,
        drawerShow: false,
        formRef: null,
        formData: {
            isPlaceotherBreakfalg: false,
            isGasDrainage: false,
            isNetwork: false,
            noOldprotocolSensor: false,
            continuation: false,
            pointCutBroken: false
        },
        rules: {
            stationCode: [{
                required: true,
                message: '请选择分站编号',
                trigger: 'change'
            }],
            stationTypeId: [{
                required: true,
                message: '请选择分站类型',
                trigger: 'change'
            }],
            stationPlaceName: [{
                required: true,
                message: '请选择安装地点',
                trigger: 'change'
            }],
            stationAreaId: [{
                required: true,
                message: '请选择所在区域',
                trigger: 'change'
            }],
            ipAddr: [{
                required: true,
                message: '请输入IP',
                trigger: 'blur'
            }, {
                validator: validateip,
                trigger: 'blur'
            }],
            ipPort: [{
                    required: true,
                    message: '请输入端口',
                    trigger: 'blur'
                },
                {
                    type: 'number',
                    message: '请输入数字',
                    trigger: 'blur'
                },
                {
                    validator: validatePass,
                    trigger: 'blur'
                }
            ],
            identifyingNo: [{
                required: true,
                message: '请输入设备唯一编号',
                trigger: 'blur'
            }]
        },
        editId: undefined,
        // 表单--测点信息
        needPlaceType: undefined,
        editpointId: undefined,
        ponitAddUrl: '/point/add',
        ponitEditUrl: '/point/edit',
        ponitDelUrl: '/point/delete',
        ponitdetailUrl: '/point/detail',
        scaleDown: undefined,
        scaleUp: undefined,
        // 超时
        prealarmTimeoutData: [0, 0.5, 1, 3, 5, 10, 15, 20, 30],
        formData1: {
            gasDrainageGroupno: 1,
            hasUpGrandAlarm: false,
            hasDownGrandAlarm: false,
            hasMoreGrandAlarm: false,
            hasChangeGrandAlarm: false,
            calibration: {},
            alarmBasic: {},
            prealarmBasic: {},
            upGrandalarmBasic: {
                grandalarmRate: {},
            },
            downGrandalarmBasic: {
                grandalarmRate: {},
            },
            cutArea: {},
            cutValueList: [{
                title: '断电配置',
                name: '1',
                cutStationList: [{
                    controlPort: '',
                    pointPlaceName: ''
                }]
            }]
        },
        defaultExpandedNodes: [],
        rules1: {
            pointCode: [{
                required: true,
                message: '请选择测点编号',
                trigger: 'change'
            }],
            pointType: [{
                required: true,
                message: '请选择测点类型',
                trigger: 'change'
            }],
            sensorId: [{
                required: true,
                message: '请选择传感器名称',
                trigger: 'change'
            }],
            expressionVoList: [{
                required: true,
                validator: expressionVoList,
                trigger: 'change'
            }],
            templateId: [{
                required: true,
                message: '请选择模板名称',
                trigger: 'change'
            }],
            pointPlaceName: [{
                required: true,
                message: '请选择安装地点',
                trigger: 'change'
            }],
            pointAreaId: [{
                required: true,
                message: '请选择所在区域',
                trigger: 'change'
            }],
            placeTypeId: [{
                required: true,
                message: '请选择地点类型',
                trigger: 'change'
            }],
            gasDrainageGroupno: [{
                required: true,
                message: '请选择瓦斯抽放监测点组别',
                trigger: 'change'
            }],
            'prealarmBasic.constantTime': [{
                required: true,
                message: '请输入恒值持续时间',
                trigger: 'blur'
            }],
            'calibration.intervalTime': [{
                required: true,
                message: '请输入标校间隔时刻',
                trigger: 'blur'
            }, {
                type: "number",
                min: 1,
                max: 365,
                message: '大小要在1到365',
                trigger: 'blur'
            }],
            'prealarmBasic.upPrealarmValue': [{
                required: true,
                validator: validateupPrealarmValue,
                trigger: 'blur'
            }],
            'prealarmBasic.downPrealarmValue': [{
                required: true,
                validator: validateupPrealarmValue2,
                trigger: 'blur'
            }],
            'alarmBasic.alarmType': [{
                required: true,
                message: '请选择报警模式',
                trigger: 'change'
            }],
            'alarmBasic.alarmType1': [{
                required: true,
                validator: validatealarmType1,
                trigger: 'blur'
            }],
            'alarmBasic.alarmType2': [{
                required: true,
                validator: validatealarmType2,
                trigger: 'blur'
            }],

            'upGrandalarmBasic.grandalarmRate.thresholdValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandalarmRate.rateCycle': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandalarmRate.rateFourValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                required: true,
                validator: rateFourValuevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandalarmRate.rateThreeValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: rateThreeValuevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandalarmRate.rateTwoValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: rateTwoValuevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandalarmRate.rateOneValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: rateOneValuevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandalarmRate.rateSixValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandsixRatevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandalarmRate.rateFiveValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandfiveRatevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandsixValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandsixValuevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandsixTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandsixTimevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandfiveValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandfiveValuevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandfiveTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandfiveTimevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandfourValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                required: true,
                validator: grandfourValuevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandfourTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandfourTimevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandthreeValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandthreeValuevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandthreeTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandthreeTimevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandtwoValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandtwoValuevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandtwoTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandtwoTimevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandoneValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandoneValuevalidate,
                trigger: 'blur'
            }],
            'upGrandalarmBasic.grandoneTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandoneTimevalidate,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandsixValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandsixValuevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandsixTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandsixTimevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandfiveValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandfiveValuevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandfiveTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandfiveTimevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandfourValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandfourValuevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandfourTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandfourTimevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandthreeValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandthreeValuevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandthreeTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandthreeTimevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandtwoValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandtwoValuevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandtwoTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandtwoTimevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandoneValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandoneValuevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandoneTime': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandoneTimevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandalarmRate.thresholdValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandalarmRate.rateCycle': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandalarmRate.rateSixValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandsixRatevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandalarmRate.rateFiveValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandfiveRatevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandalarmRate.rateFourValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandfourRatevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandalarmRate.rateThreeValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandthreeRatevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandalarmRate.rateTwoValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandtwoRatevalidate1,
                trigger: 'blur'
            }],
            'downGrandalarmBasic.grandalarmRate.rateOneValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: grandoneRatevalidate1,
                trigger: 'blur'
            }],
            'cutArea.areaIdList': [{
                required: true,
                message: '请选择',
                trigger: 'change'
            }],
            'cutArea.cutValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: validatecutValue,
                trigger: 'blur'
            }],
            'cutArea.resumeValue': [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_cutType: [{
                required: true,
                message: '请选择',
                trigger: 'change'
            }],
            field_cutValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: validatecutValue1,
                trigger: 'blur'
            }],
            field_resumeValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: validatecutValue2,
                trigger: 'blur'
            }],
            field_stationPlaceName: [{
                required: true,
                message: '请选择',
                trigger: 'change'
            }],
            // 多参测点
            field_mulalarmType: [{
                required: true,
                message: '请选择',
                trigger: 'change'
            }],
            field_mulupAlarmValue: [{
                required: true,
                validator: mulupAlarmValuevalite,
                trigger: 'blur'
            }],
            field_muldownAlarmValue: [{
                required: true,
                validator: muldownAlarmValuevalite,
                trigger: 'blur'
            }],
            field_mulupPrealarmValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_muldownPrealarmValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_mulprealarmTimeout: [{
                required: true,
                message: '请选择',
                trigger: 'change'
            }],
            field_mulconstantTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_mulupthresholdValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_muluprateCycle: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_muldownthresholdValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_muldownrateCycle: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_mulcutType: [{
                required: true,
                message: '请选择',
                trigger: 'change'
            }],
            field_mulcutValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulmulcutValue,
                trigger: 'blur'
            }],
            field_mulresumeValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulresumeValue,
                trigger: 'blur'
            }],
            field_mulcutValue1: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulmulcutValue1,
                trigger: 'blur'
            }],
            field_mulresumeValue1: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulresumeValue1,
                trigger: 'blur'
            }],
            field_mulstationPlaceName: [{
                required: true,
                message: '请选择',
                trigger: 'change'
            }],
            field_mulcutAreaareaIdList: [{
                required: true,
                message: '请选择',
                trigger: 'change'
            }],
            field_mulcutAreacutValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulareacutValue,
                trigger: 'blur'
            }],
            field_mulcutArearesumeValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mularearesumeValue,
                trigger: 'blur'
            }],
            // 多参测点自定义验证
            // 上限
            field_upgrandthresholdValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_upgrandrateCycle: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_upgrandsixTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandsixTimevalidate,
                trigger: 'blur'
            }],
            field_upgrandfiveTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandfiveTimevalidate,
                trigger: 'blur'
            }],
            field_upgrandfourTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandfourTimevalidate,
                trigger: 'blur'
            }],
            field_upgrandthreeTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandthreeTimevalidate,
                trigger: 'blur'
            }],
            field_upgrandtwoTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandtwoTimevalidate,
                trigger: 'blur'
            }],
            field_upgrandoneTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandoneTimevalidate,
                trigger: 'blur'
            }],
            field_upgrandsixValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandsixValuevalidate,
                trigger: 'blur'
            }],
            field_upgrandfiveValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandfiveValuevalidate,
                trigger: 'blur'
            }],
            field_upgrandfourValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandfourValuevalidate,
                trigger: 'blur'
            }],
            field_upgrandthreeValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandthreeValuevalidate,
                trigger: 'blur'
            }],
            field_upgrandtwoValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandtwoValuevalidate,
                trigger: 'blur'
            }],
            field_upgrandoneValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandoneValuevalidate,
                trigger: 'blur'
            }],
            field_uprateSixValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandsixRatevalidate,
                trigger: 'blur'
            }],
            field_uprateFiveValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandfiveRatevalidate,
                trigger: 'blur'
            }],
            field_uprateFourValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulrateFourValuevalidate,
                trigger: 'blur'
            }],
            field_uprateThreeValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulrateThreeValuevalidate,
                trigger: 'blur'
            }],
            field_uprateTwoValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulrateTwoValuevalidate,
                trigger: 'blur'
            }],
            field_uprateOneValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulrateOneValuevalidate,
                trigger: 'blur'
            }],
            // 下限
            field_downthresholdValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_downrateCycle: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }],
            field_downgrandsixValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandsixValuevalidate1,
                trigger: 'blur'
            }],
            field_downgrandfiveValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandfiveValuevalidate1,
                trigger: 'blur'
            }],
            field_downgrandfourValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandfourValuevalidate1,
                trigger: 'blur'
            }],
            field_downgrandthreeValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandthreeValuevalidate1,
                trigger: 'blur'
            }],
            field_downgrandtwoValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandtwoValuevalidate1,
                trigger: 'blur'
            }],
            field_downgrandoneValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandoneValuevalidate1,
                trigger: 'blur'
            }],
            field_downgrandsixTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandsixTimevalidate1,
                trigger: 'blur'
            }],
            field_downgrandfiveTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandfiveTimevalidate1,
                trigger: 'blur'
            }],
            field_downgrandfourTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandfourTimevalidate1,
                trigger: 'blur'
            }],
            field_downgrandthreeTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandthreeTimevalidate1,
                trigger: 'blur'
            }],
            field_downgrandtwoTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandtwoTimevalidate1,
                trigger: 'blur'
            }],
            field_downgrandoneTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandoneTimevalidate1,
                trigger: 'blur'
            }],
            field_downgrandoneTime: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandoneTimevalidate1,
                trigger: 'blur'
            }],
            field_downrateSixValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandsixRatevalidate1,
                trigger: 'blur'
            }],
            field_downrateFiveValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandfiveRatevalidate1,
                trigger: 'blur'
            }],
            field_downrateFourValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandfourRatevalidate1,
                trigger: 'blur'
            }],
            field_downrateThreeValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandthreeRatevalidate1,
                trigger: 'blur'
            }],
            field_downrateTwoValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandtwoRatevalidate1,
                trigger: 'blur'
            }],
            field_downrateOneValue: [{
                required: true,
                message: '请输入',
                trigger: 'blur'
            }, {
                validator: mulgrandoneRatevalidate1,
                trigger: 'blur'
            }],
        },
        // 普通测点
        activeNamePoint: 1,
        pointactiveNameList: [{
                name: '报警配置',
                type: 1
            }, {
                name: '分级配置',
                type: 2
            }, {
                name: '普通断电',
                type: 3
            }, {
                name: '区域断电',
                type: 4
            },
            // {
            //     name: '设备标校',
            //     type: 5
            // }
        ],
        // 普通断电
        ordintranValue: 0,
        collapseAtive: 0,
        ordintranTableList: [{}],
        collapseAtiveList: [{}],
        cutTypeList: [{
            code: 1,
            name: '上限'
        }, {
            code: 2,
            name: '下限'
        }], //断电模式
        stationPlaceNamList: [],
        stationPlaceName: undefined,
        // 断电-配置表单
        addModalconfig: false,
        addModalconfig1: false,
        formDataconfig: {},
        formDataconfig1: {},
        cutconfigId: undefined,
        cutconfigIdTypereq: undefined, //配置走编辑还是新增接口
        cutconfigIdTypestation: undefined, //分站下拉选择
        rulesconfig: {
            controlPortType: [{
                required: true,
                message: '请选择控制设备',
                trigger: 'change',
            }],
            pointPlaceName: [{
                required: true,
                message: '请选择安装地点',
                trigger: 'change',
            }],
            feedPointId: [{
                required: true,
                message: '请选择馈电测点',
                trigger: 'change',
            }],
        },
        rulesconfig1: {
            controlPortType: [{
                required: true,
                message: '请选择控制设备',
                trigger: 'change',
            }],
            pointPlaceName: [{
                required: true,
                message: '请选择安装地点',
                trigger: 'change',
            }],
            feedPointId: [{
                required: true,
                message: '请选择馈电测点',
                trigger: 'change',
            }],
        },
        // 下拉选
        searchTreeList: [],
        substationList: [],
        ationNosList: [],
        addressInfoList: [],
        pointTypeList: [{
            value: 1,
            name: '普通测点'
        }, {
            value: 2,
            name: '多参测点'
        }, {
            value: 3,
            name: '虚拟测点'
        }],
        pointNoList: [],
        sensorIdList: [],
        placeTypeIdList: [],
        alarmBasicList: [{
            code: 0,
            name: '无'
        }, {
            code: 1,
            name: '上限'
        }, {
            code: 2,
            name: '下限'
        }, {
            code: 3,
            name: '上下限'
        }],
        infosearchAllList: [],
        // 表单--开出口
        formData2: {},
        rules2: {
            controlPortType: [{
                required: true,
                message: '请选择控制设备',
                trigger: 'change',
            }],
            pointPlaceId: [{
                required: true,
                message: '请选择安装地点',
                trigger: 'change',
            }],
        },
        // 控制设备类型
        controlPortTypeList: [{
            code: 1,
            name: '断电仪'
        }, {
            code: 2,
            name: '声光报警'
        }],
        feedPointIdList: [],
        controlPortTypeId: undefined,
        baohanD: '', //筛选首字母
        baohanunit: '', //传感器名称下拉后单位
        cutValueListyou: false, //测点详情查看处理普通断电
        editpontDis: false,
        // 预报警全部详情
        addModalhasPreAlarm: false,
        hasPreAlarmData: {
            condition: undefined,
            tableheads: computed(() => table_headers.prealarmBasic),
            tabledata: [],
            query: {
                pageNum: 1,
                pageSize: 10,
                condition: undefined,
            },
            total: 0,
            selList: []
        },
        // 恒值预报警全部详情
        addModalhasConstantPreAlarm: false,
        hasConstantPreAlarmData: {
            condition: undefined,
            tableheads: computed(() => table_headers.constantPrealarm),
            tabledata: [],
            query: {
                pageNum: 1,
                pageSize: 10,
                condition: undefined,
            },
            total: 0,
            selList: []
        },
        // 控制源
        controlSourceData: {
            tableheads: computed(() => table_headers.controlSource),
            tabledata: [],
            query: {
                pageNum: 1,
                pageSize: 10,
                controlPointIds: undefined
            },
            total: 0
        },
        // 多参测点参数
        mulpointTypeName: undefined, //含有多参字符
        mulsensorIdList: [], //传感器下拉
        // 多参测点tab切换
        mulactiveNamePoint: undefined,
        multiplePointBranchList: [],
        looksensorObj: undefined, //查看传感器参数
        channelNoList: [], //获取通道号
        // 虚拟测点
        templateTreeList: [],
        pointIdsList: [],
        expressionVoList: []
    })
    // 树形默认
    // 
    // 过滤器
    function formatCloud(str) {
        return str.charAt(0)
    }
    // 获取下拉选
    function getSelList() {

        let arr = []
        getsearchTree().then(res => {
            state.searchTreeList = res.data
        })
        getsubstation().then(res => {
            state.substationList = res.data.list
        })
        getstationNos().then(res => {
            state.ationNosList = res.data
        })
        getaddressInfo().then(res => {
            state.addressInfoList = res.data.list
        })
        gettypesInfo().then(res => {
            state.placeTypeIdList = res.data.list
        })

        getpointsensor().then(res => {
            let newc = []
            res.data.forEach(item => {
                item.label = item.name
                item.value = item.name
                if (item.sensors) {
                    item.children = item.sensors
                    item.sensors.forEach(item1 => {
                        item1.label = item1.sensorName
                        item1.value = item1.sensorId
                        if (item1.childIndexList) {
                            newc = item1.childIndexList.map(item2 => {
                                return {
                                    label: item2.childIndexName,
                                    value: item2.sensorId,
                                    data: item2
                                }
                            })
                            item1.children = newc
                        }
                    })
                }
            })
            state.sensorIdList = res.data
        })
        getinfosearchAll().then(res => {
            state.infosearchAllList = res.data.list
        })
        getfeedList().then(res => {
            state.feedPointIdList = res.data
        })
        getmultipleList().then(res => {
            state.mulsensorIdList = res.data.list
        })
        // 获取通道号
        searchchannelNoList().then(res => {
            state.channelNoList = res.data
        })
    }
    getSelList()

    // 测点编号下拉
    function getponitCodeList(datatreeId) {
        getpointCodes(datatreeId).then(res => {
            state.pointNoList = res.data
        })
    }
    // 通道号改变事件
    function channelNoChange(val) {
        state.channelNoList.forEach(item => {
            if (val == item.id) {
                state.formData.channelName = item.name
            }
        })
    }
    /**
     * 分站信息
     */
    // 跳转分站类型
    function tostationType() {
        router.push('/cspz/basicConfig/config_stationType')
    }
    if (router.currentRoute.value.query.id && router.currentRoute.value.query.stationCode) {
        let data = router.currentRoute.value.query
        state.curTreeId = data.stationCode
        getdetailData(data.stationCode)
        state.addShowTtation = false
        state.addShowPoint = false
        state.nodetailShowTtation = false
        state.addShowOpenShow = false
        state.addShowOpendetailShow = false
        state.detailShowTtation = true
        state.addShowdetailPoint = false
    } else {
        console.log("无对象");
    }
    if (router.currentRoute.value.query.pointId) {
        let data = router.currentRoute.value.query
        state.curTreeId = data.pointId
        getponitdetailData(data.pointId)
        state.addShowTtation = false
        state.addShowPoint = false
        state.nodetailShowTtation = false
        state.detailShowTtation = false
        state.addShowOpenShow = false
        state.addShowOpendetailShow = false
        state.addShowdetailPoint = true
    }
    // 新增分站
    function addstationBtn() {
        state.stationDis = false
        state.datatreeId = undefined
        state.addShowTtation = true
        state.addShowPoint = false
        state.nodetailShowTtation = false
        state.detailShowTtation = false
        state.addShowOpenShow = false
        state.addShowOpendetailShow = false
        state.addShowdetailPoint = false
        state.formData = {
            isPlaceotherBreakfalg: false,
            isGasDrainage: false,
            isNetwork: false,
            noOldprotocolSensor: false,
            continuation: false,
            pointCutBroken: false
        }
    }
    // 编辑分站
    function editstationBtn() {
        if (state.datatreeId) {
            state.addShowTtation = true
            state.addShowPoint = false
            state.nodetailShowTtation = false
            state.detailShowTtation = false
            state.addShowOpenShow = false
            state.addShowOpendetailShow = false
            state.addShowdetailPoint = false
            getdetailData(state.datatreeCode)
            state.stationDis = true
        } else {
            proxy.$modal.msgWarning('请先选择分站');
        }
    }
    // 分站编号下拉事件
    function stationTypeChange(val) {
        state.substationList.forEach(item => {
            if (val == item.id) {
                state.formData.stationInNum = item.stationInNum
                state.formData.stationModelName = item.stationModelName
            }
        })
    }
    // 新增tab切换
    function activeNameTabClick(type) {
        state.activeName = type
    }
    // 详情tab切换
    function activeNameTabClick1(type) {
        state.activeName1 = type
    }


    function getcontrolPortsList(val) {
        axios.post('/station/list', {}).then(res => {
            state.stationPlaceNamList = res.data.list
        })
    }
    // 断电-配置列表
    async function getcutconfigId(e, val) {
        let arr = await fenzhankaichuList(e)
        if (state.formData1.pointType == 1) {
            if (state.collapseAtive == val) {
                state.formData1.cutValueList.forEach((item1, index) => {
                    if (state.ordintranValue == index) {
                        if (!item1.cutStationList) {
                            item1.cutStationList = [{}]
                        }
                        arr.forEach(item2 => {
                            item2.stationCode = item1.cutStationList[val].stationCode
                        })
                        item1.cutStationList[val].controlPortList = arr
                    }
                })
            }
        }
        if (state.formData1.pointType == 2) {
            state.formData1.multiplePointBranchList.forEach(item0 => {
                if (state.mulactiveNamePoint == item0.sensorId) {
                    if (state.collapseAtive == val) {
                        item0.cutValueList.forEach((item1, index) => {
                            if (state.ordintranValue == index) {
                                if (!item1.cutStationList) {
                                    item1.cutStationList = [{}]
                                }
                                arr.forEach(item2 => {
                                    item2.stationCode = item1.cutStationList[val]
                                        .stationCode
                                })
                                item1.cutStationList[val].controlPortList = arr
                            }
                        })
                    }
                }
            })
        }
    }
    async function controlPortChange(e, val) {
        state.collapseAtive = val
        state.cutconfigId = e
        state.cutconfigIdTypestation = e
        if (state.formData1.pointType == 1) {
            if (state.collapseAtive == val) {
                await state.stationPlaceNamList.forEach(item => {
                    if (e == item.stationCode) {
                        state.formData1.cutValueList.forEach((item1, index) => {
                            if (state.ordintranValue == index) {
                                item1.cutStationList[val].stationCode = item.stationCode
                                item1.cutStationList[val].stationPlaceName = item.stationPlaceName
                                getcutconfigId(e, val)
                            }
                        })

                    }
                })
            }
        }
        if (state.formData1.pointType == 2) {
            await state.formData1.multiplePointBranchList.forEach(item0 => {
                if (state.mulactiveNamePoint == item0.sensorId) {
                    if (state.collapseAtive == val) {
                        state.stationPlaceNamList.forEach(item => {
                            if (e == item.stationCode) {
                                item0.cutValueList.forEach((item1, index) => {
                                    if (state.ordintranValue == index) {
                                        item1.cutStationList[val].stationCode = item
                                            .stationCode
                                        // item1.cutStationList[val].stationPlaceName = item
                                        //     .stationPlaceName
                                        getcutconfigId(e, val)
                                    }
                                })
                            }
                        })
                    }
                }
            })
        }
    }

    function fenzhankaichuList(controlPort) {
        return new Promise((resolve, reject) => {
            controlPortsList(controlPort).then(res => {
                resolve(res.data)
            })
        })
    }
    // 取消分站信息提交
    function cancelClick() {
        // 显示分站详情
        if (state.datatreeId) {
            getponitCodeList(state.formData.stationCode)
            getdetailData(state.formData.stationCode)
            state.addShowTtation = false
            state.addShowPoint = false
            state.nodetailShowTtation = false
            state.addShowOpenShow = false
            state.addShowOpendetailShow = false
            state.detailShowTtation = true
            state.addShowdetailPoint = false
        }
    }

    // 新增分站信息提交
    function addClick() {
        proxy.$refs["formRef"].validate(valid => {
            if (valid) {
                delete state.formData.stationInNum
                delete state.formData.stationModelName
                if (state.datatreeId) {
                    state.formData.id = state.datatreeId
                    axios.post('/station/edit', state.formData).then(res => {
                        if (res.code == 200) {
                            proxy.$modal.msgSuccess(res.msg);
                            state.datatreeId = undefined
                            getsider()
                            // 显示分站详情
                            getponitCodeList(state.formData.stationCode)
                            getdetailData(state.formData.stationCode)
                            state.addShowTtation = false
                            state.addShowPoint = false
                            state.nodetailShowTtation = false
                            state.addShowOpenShow = false
                            state.addShowOpendetailShow = false
                            state.detailShowTtation = true
                            state.addShowdetailPoint = false
                        }
                    })
                } else {
                    axios.post('/station/add', state.formData).then(res => {
                        if (res.code == 200) {
                            proxy.$modal.msgSuccess(res.msg);
                            getsider()
                            // 显示分站详情
                            getponitCodeList(state.formData.stationCode)
                            getdetailData(state.formData.stationCode)
                            state.addShowTtation = false
                            state.addShowPoint = false
                            state.nodetailShowTtation = false
                            state.addShowOpenShow = false
                            state.addShowOpendetailShow = false
                            state.detailShowTtation = true
                            state.addShowdetailPoint = false
                        }
                    })
                }
            }
        })
    }
    // 获取左边树形
    function getsider(key) {
        let arr = []
        let children = []
        let children1 = []
        axios.get(`/station/sider`, {
            params: {
                key: key
            }
        }).then(res => {
            if (res.data.length > 0) {
                res.data.forEach(item => {
                    if (item.pointInfos) {
                        children = item.pointInfos.map(item1 => {
                            return {
                                label: item1.pointId + '/' + item1.sensorName + '/' +
                                    item1
                                    .pointPlaceName,
                                value: item1.pointId,
                                pointTypeName: item1.pointTypeName.substring(0, 2),
                                id: item1.pointId,
                            }
                        })
                    } else {
                        children = []
                    }
                    if (item.controlPorts) {
                        children1 = item.controlPorts.map(item1 => {
                            return {
                                label: '',
                                value: item1.pointId,
                                controlPort: item1.controlPort,
                                id: item1.pointId,
                                place: item1.pointTypeName,
                                controlPortType: item1.controlPortType,
                                controlPortTypeName: item1.controlPortTypeName,
                                pointPlaceName: item1.pointPlaceName
                            }
                        })
                    } else {
                        children1 = []
                    }
                    arr.push({
                        label: item.stationCode + '-' + item.stationPlaceName,
                        value: item.stationCode,
                        id: item.id,
                        type: 'fenzhan',
                        controlNum: item.controlNum,
                        totalNum: item.totalNum,
                        stationTypeId: item.stationTypeId,
                        children: [{
                            label: '测点',
                            value: 'nopoint',
                            id: 'nopoint',
                            children: children
                        }, {
                            label: '开出口',
                            value: 'noopen',
                            id: 'noopen',
                            children: children1
                        }]
                    })
                })
                // let jiedianid = []
                // state.curTreeId = arr[0].value
                // arr[0].children.forEach(item => {
                //     item.children.forEach(item1 => {
                //         jiedianid.push(item1.id)
                //     })
                // })
                // state.defaultExpandedNodes = jiedianid
                // getponitCodeList(arr[0].value)
                // getdetailData(arr[0].value)
                // state.addShowTtation = false
                // state.addShowPoint = false
                // state.nodetailShowTtation = false
                // state.addShowOpenShow = false
                // state.addShowOpendetailShow = false
                // state.detailShowTtation = true
                // state.addShowdetailPoint = false
                state.datatree = arr
            } else {
                state.datatree = res.data
            }
            nextTick(() => {
                if (state.curTreeId) {
                    pointtree.value.setCurrentKey(state.curTreeId)
                }
            })
        })
    }
    getsider()

    function filterNode(value, data) {
        if (!value) return true
        return data.label.includes(value)
    }
    // 左侧树形搜索框
    function treeSearchBlur(key) {
        getsider(state.treeSearch)
    }
    // 左侧树形点击事件
    function handleNodeClick(data, node) {
        let jiedianid = []
        if (data.type == 'fenzhan') {
            data.children.forEach(item => {
                item.children.forEach(item1 => {
                    jiedianid.push(item1.id)
                })
            })
            state.defaultExpandedNodes = jiedianid
        }

        state.datatreeId = data.id
        if (data.value != 'nopoint' || data.value != 'noopen') {
            state.datatreeCode = data.value
            state.formData1.stationCode = data.value
        }
        state.treestationTypeId = data.stationTypeId
        if (data.stationTypeId) {
            getponitCodeList(data.value)
            getdetailData(data.value)
            state.addShowTtation = false
            state.addShowPoint = false
            state.nodetailShowTtation = false
            state.addShowOpenShow = false
            state.addShowOpendetailShow = false
            state.detailShowTtation = true
            state.addShowdetailPoint = false
        } else if (data.controlPort) {
            state.formData2.stationCode = node.parent.parent.data.value
            state.formData2.controlPort = data.controlPort
            state.addShowTtation = false
            state.detailShowTtation = false
            state.nodetailShowTtation = false
            state.addShowPoint = false
            state.addShowOpenShow = false
            state.addShowdetailPoint = false
            if (data.controlPortType != null) {
                state.controlPortTypeId = data.controlPortType
                state.addShowOpendetailShow = true
                getopendetailData(data.controlPort, state.formData2.stationCode)
                state.controlSourceData.query.controlPointIds = data.id
                getcontrolSourceList()
            } else {
                state.addShowOpenShow = true
                state.addShowOpendetailShow = false
            }
        } else {

            if (data.value == 'nopoint' || data.value == 'noopen') {
                // state.addShowTtation = false
                // state.detailShowTtation = false
                // state.nodetailShowTtation = true
                // state.addShowPoint = false
                // state.addShowOpenShow = false
                // state.addShowOpendetailShow = false
                // state.addShowdetailPoint = false
                // state.cutValueListyou = false
            } else {
                state.formData1.stationCode = node.parent.data.value
                state.addShowTtation = false
                state.detailShowTtation = false
                state.nodetailShowTtation = false
                state.addShowPoint = false
                state.addShowOpenShow = false
                state.addShowOpendetailShow = false
                state.addShowdetailPoint = true
                state.editpointId = data.id
                state.editpontDis = true
                state.mulpointTypeName = node.data.pointTypeName
                getponitdetailData(data.id)
                state.cutValueListyou = true
            }
        }
    }
    // 查看分站详情
    function stationBtndesc(val) {
        getdetailData(val)
        state.addShowTtation = false
        state.addShowPoint = false
        state.nodetailShowTtation = false
        state.addShowOpenShow = false
        state.addShowOpendetailShow = false
        state.detailShowTtation = true
        state.addShowdetailPoint = false
    }
    /**
     * 多参测点内容
     */
    function handleClick(val) {
        state.activeNamePoint = 1
    }

    // 传感器名称下拉事件
    function mulsensorIdChange(val) {
        state.mulsensorIdList.forEach(item => {
            if (item.id == val) {
                state.needPlaceType = item.needPlaceType
            }
        })
        if (val) {
            getlooksensorObj(val)
        }
    }
    // 查看传感器参数详情接口
    function getlooksensorObj(val) {
        axios.get('/sensor/multiple/detail?id=' + val).then(res => {
            state.looksensorObj = res.data
            let arr = []
            res.data.sensorList.forEach(item => {
                item.baohanD = formatCloud(item.sensorId)
                let obj = {
                    hasUpGrandAlarm: false,
                    hasDownGrandAlarm: false,
                    hasMoreGrandAlarm: false,
                    hasChangeGrandAlarm: false,
                    alarmBasic: {
                        alarmType: 0
                    },
                    prealarmBasic: {
                        hasPreAlarm: false,
                        hasConstantPreAlarm: false
                    },
                    upGrandalarmBasic: {
                        grandalarmRate: {},
                    },
                    downGrandalarmBasic: {
                        grandalarmRate: {},
                    },
                    cutArea: {},
                    cutValueList: [{
                        title: '断电配置',
                        name: '1',
                        cutStationList: [{}]
                    }],
                }
                item = Object.assign(item, obj);
                if (item.childIndexName != null) {
                    arr.push(item)
                }
            })
            state.mulactiveNamePoint = res.data.sensorList[0].sensorId
            state.formData1.multiplePointBranchList = arr
        })
    }

    // 测点tab切换--关联电源/其他配置/操作日志
    function ponitactiveNameTabClick(type) {
        state.activeNamePoint = type
        if (type == 3) {
            getcontrolPortsList(state.datatreeCode)
        }
    }
    // 获取分站详情接口
    function getdetailData(stationCode) {
        state.curTreeId = stationCode
        axios.get('/station/detail?stationCode=' + stationCode).then(res => {
            state.formData = res.data
            state.datatreeCode = res.data.stationCode
            state.datatreeId = res.data.id
        })
    }
    // 分站删除
    function deletetree(stationCode) {
        ElMessageBox.confirm(
                '确定要删除吗?',
                '温馨提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning',
                }
            )
            .then(() => {
                axios.post('/station/delete', [stationCode]).then(res => {
                    proxy.$modal.msgSuccess(res.msg);
                    getsider()
                    state.addShowTtation = false
                    state.detailShowTtation = false
                    state.nodetailShowTtation = true
                    state.addShowPoint = false
                    state.addShowOpenShow = false
                    state.addShowOpendetailShow = false
                    state.addShowdetailPoint = false
                    state.cutValueListyou = false
                })
            })
            .catch(() => {
                proxy.$modal.msgWarning('删除取消');
            })

    }
    // 编辑测点
    function editstationPointBtn(type, num) {
        state.activeNamePoint = num
        state.formData1.stationCode = state.formData1.stationCode
        state.addShowTtation = false
        state.detailShowTtation = false
        state.nodetailShowTtation = false
        state.addShowPoint = true
        state.addShowOpenShow = false
        state.addShowOpendetailShow = false
        state.addShowdetailPoint = false
        state.editpointId = state.datatreeId
        getponitdetailData(state.datatreeId, num)
        state.cutValueListyou = false
    }
    // 测点删除
    function deletetreepoint(val) {
        ElMessageBox.confirm(
                '确定要删除吗?',
                '温馨提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning',
                }
            )
            .then(() => {
                axios.post('/point/delete?pointId=' + val).then(res => {
                    proxy.$modal.msgSuccess(res.msg);
                    getsider()
                })
            })
            .catch(() => {
                proxy.$modal.msgWarning('删除取消');
            })

    }
    // 新增测点
    function addtreePonit(id, stationCode) {
        state.activeNamePoint = 1
        getponitCodeList(stationCode)
        state.editpointId = undefined
        state.datatreeId = id
        state.datatreeCode = stationCode
        state.editpontDis = false
        state.addShowPoint = true
        state.addShowTtation = undefined
        state.nodetailShowTtation = false
        state.detailShowTtation = false
        state.addShowOpenShow = false
        state.addShowOpendetailShow = false
        state.addShowdetailPoint = false
        state.formData1 = {
            stationCode: state.datatreeCode,
            isGasDrainage: false,
            gasDrainageGroupno: 1,
            calibration: {
                isCalibration: false
            },
            hasUpGrandAlarm: false,
            hasDownGrandAlarm: false,
            hasMoreGrandAlarm: false,
            hasChangeGrandAlarm: false,
            alarmBasic: {
                alarmType: 0
            },
            prealarmBasic: {
                hasPreAlarm: false,
                hasConstantPreAlarm: false
            },
            upGrandalarmBasic: {
                grandalarmRate: {},
            },
            downGrandalarmBasic: {
                grandalarmRate: {},
            },
            cutArea: {},
            cutValueList: [{
                title: '断电配置',
                name: '1',
                cutStationList: [{}]
            }],
            placeType: {}
        }
    }
    // 上限分级报警开关
    function hasUpGrandAlarmChange(val) {
        state.radio1 = '上限分级报警'
        if (!val) {
            state.radio1 = '下限分级报警'
        }
    }

    function hasDownGrandAlarmChange(val) {
        state.radio1 = '下限分级报警'
        if (!val) {
            state.radio1 = '上限分级报警'
        }
    }

    function delObj(obj, keys) {
        keys.map(function (key) {
            delete obj[key]
        })
        return obj
    }
    // 取消测点提交
    function cancelpointClick() {
        state.addShowTtation = false
        state.detailShowTtation = false
        state.nodetailShowTtation = false
        state.addShowPoint = false
        state.addShowOpenShow = false
        state.addShowOpendetailShow = false
        state.addShowdetailPoint = true
    }
    // 新增测点提交
    function addpointClick() {
        proxy.$refs["formRef1"].validate(valid => {
            if (valid) {
                if (state.formData1.pointType == 1) {
                    let newarr = []
                    newarr = state.formData1.cutValueList
                    if (newarr != null) {
                        if (newarr.length > 0) {
                            newarr.forEach(item => {
                                item.cutStationList.forEach(item1 => {
                                    let arrr = []
                                    if (item1.controlPortList && item1.controlPortList.length >
                                        0) {
                                        item1.controlPortList.forEach(item2 => {
                                            if (item2.selected == true) {
                                                arrr.push(item2)
                                            }
                                        })
                                        item1.controlPortList = arrr
                                    }
                                })
                            })
                        }
                    }
                    state.formData1.pointId = state.editpointId
                    if (state.editpointId) {
                        axios.post(state.ponitEditUrl, state.formData1).then(res => {
                            if (res.code == 200) {
                                proxy.$modal.msgSuccess(res.msg);
                                getsider()
                                state.editpointId = undefined
                                state.addShowTtation = false
                                state.detailShowTtation = false
                                state.nodetailShowTtation = false
                                state.addShowPoint = false
                                state.addShowOpenShow = false
                                state.addShowOpendetailShow = false
                                state.addShowdetailPoint = true
                            }
                        })
                    } else {
                        axios.post(state.ponitAddUrl, state.formData1).then(res => {
                            if (res.code == 200) {
                                proxy.$modal.msgSuccess(res.msg);
                                getsider()
                                // state.editpointId = undefined
                                state.formData1.cutValueList = [{
                                    title: '断电配置',
                                    name: 1,
                                    cutStationList: [{}]
                                }]
                                state.addShowTtation = false
                                state.detailShowTtation = false
                                state.nodetailShowTtation = false
                                state.addShowPoint = false
                                state.addShowOpenShow = false
                                state.addShowOpendetailShow = false
                                state.addShowdetailPoint = true
                                getponitdetailData(state.formData1.stationCode + formatCloud(
                                    state
                                    .formData1.sensorId) + state.formData1.pointCode)
                            }
                        })
                    }
                }
                if (state.formData1.pointType == 2) {
                    state.formData1 = delObj(state.formData1,
                        ['hasUpGrandAlarm', 'hasDownGrandAlarm',
                            'hasMoreGrandAlarm', 'hasChangeGrandAlarm',
                            'alarmBasic', 'prealarmBasic', 'upGrandalarmBasic',
                            'downGrandalarmBasic', 'cutArea', 'cutValueList'
                        ])

                    state.formData1.pointId = state.editpointId
                    if (state.editpointId) {
                        axios.post('/point/editMultiple', state.formData1).then(res => {
                            if (res.code == 200) {
                                proxy.$modal.msgSuccess(res.msg);
                                getsider()
                                state.addShowTtation = false
                                state.detailShowTtation = false
                                state.nodetailShowTtation = false
                                state.addShowPoint = false
                                state.addShowOpenShow = false
                                state.addShowOpendetailShow = false
                                state.addShowdetailPoint = true
                                getponitdetailData(state.formData1.stationCode + 'M' + state.formData1
                                    .pointCode)
                            }
                        })
                    } else {
                        axios.post('/point/addMultiple', state.formData1).then(res => {
                            if (res.code == 200) {
                                proxy.$modal.msgSuccess(res.msg);
                                getsider()
                                state.addShowTtation = false
                                state.detailShowTtation = false
                                state.nodetailShowTtation = false
                                state.addShowPoint = false
                                state.addShowOpenShow = false
                                state.addShowOpendetailShow = false
                                state.addShowdetailPoint = true
                                getponitdetailData(state.formData1.stationCode + 'M' + state.formData1
                                    .pointCode)
                            }
                        })
                    }
                }
                if (state.formData1.pointType == 3) {
                    let newarr = []
                    newarr = state.formData1.cutValueList
                    if (newarr != null) {
                        if (newarr.length > 0) {
                            newarr.forEach(item => {
                                item.cutStationList.forEach(item1 => {
                                    let arrr = []
                                    if (item1.controlPortList && item1.controlPortList.length >
                                        0) {
                                        item1.controlPortList.forEach(item2 => {
                                            if (item2.selected == true) {
                                                arrr.push(item2)
                                            }
                                        })
                                        item1.controlPortList = arrr
                                    }
                                })
                            })
                        }
                    }
                    let arrr = []
                    state.expressionVoList.forEach(item => {
                        if (item.obj) {
                            arrr.push({
                                sensorId: item.obj.code,
                                pointName: item.value
                            })
                        }
                    })
                    state.formData1.pointIdList = arrr
                    state.formData1.pointId = state.editpointId
                    if (state.editpointId) {
                        axios.post('point/editVirtual', state.formData1).then(res => {
                            if (res.code == 200) {
                                proxy.$modal.msgSuccess(res.msg);
                                getsider()
                                state.editpointId = undefined
                                state.addShowTtation = false
                                state.detailShowTtation = false
                                state.nodetailShowTtation = false
                                state.addShowPoint = false
                                state.addShowOpenShow = false
                                state.addShowOpendetailShow = false
                                state.addShowdetailPoint = true
                                getponitdetailData(state.formData1.pointId)
                            }
                        })
                    } else {
                        axios.post('point/addVirtual', state.formData1).then(res => {
                            if (res.code == 200) {
                                proxy.$modal.msgSuccess(res.msg);
                                getsider()
                                state.formData1.cutValueList = [{
                                    title: '断电配置',
                                    name: 1,
                                    cutStationList: [{}]
                                }]
                                state.addShowTtation = false
                                state.detailShowTtation = false
                                state.nodetailShowTtation = false
                                state.addShowPoint = false
                                state.addShowOpenShow = false
                                state.addShowOpendetailShow = false
                                state.addShowdetailPoint = true
                                getponitdetailData(res.data)
                            }
                        })
                    }
                }
            }

        })
        getSelList()
    }
    // el-collapse-item阻止冒泡
    function stopCollapse(e) {
        return e.stopPropagation()
    }
    //获取普通测点详情数据
    function getponitdetailData(id, num) {
        const selectRowsId = []
        if (num) {
            state.activeNamePoint = num
        } else {
            state.activeNamePoint = 1
        }
        let ponitdetailUrl = state.ponitdetailUrl
        if (id) {
            if (id.includes("M")) {
                ponitdetailUrl = '/point/detailMultiple'
            } else if (id.includes("V")) {
                ponitdetailUrl = 'point/detailVirtual'
            } else {
                ponitdetailUrl = state.ponitdetailUrl
            }
        }
        let alarmtypeList = [{
            code: 0,
            name: '无'
        }]
        axios.get(ponitdetailUrl + `?pointId=` + id).then(res => {
            state.formData1 = res.data
            state.needPlaceType = state.formData1.needPlaceType
            state.baohanunit = state.formData1.sensorUnit
            state.curTreeId = state.formData1.pointId
            if (id.includes("M")) {
                state.formData1.sensorId = Number(state.formData1.sensorId)
                axios.get('/sensor/multiple/detail?id=' + state.formData1.sensorId).then(res => {
                    state.looksensorObj = res.data
                })
                let arr1 = state.formData1.multiplePointBranchList
                state.mulactiveNamePoint = arr1[0].sensorId
                arr1.forEach(
                    item => {
                        item.baohanD = formatCloud(item.sensorId)
                        if (item.cutValueList != null && item.cutValueList.length > 0) {
                            item.cutValueList.forEach((item11, index11) => {
                                item11.title = '断电配置'
                                item11.name = (Number(index11) + 1)
                                if (item11.cutStationList) {
                                    if (item11.cutStationList.length > 0) {
                                        item11.cutStationList.forEach(item3 => {
                                            if (item3.controlPortList) {
                                                if (item3.controlPortList.length > 0) {
                                                    let rrrr = []
                                                    item3.controlPortList.map(item4 => {
                                                        if (item4.selected ==
                                                            true) {
                                                            selectRowsId.push(
                                                                item4
                                                                .controlPort)
                                                            nextTick(() => {
                                                                checkboxConfig1
                                                                    .checkRowKeys =
                                                                    selectRowsId
                                                            })
                                                            rrrr.push(item4)
                                                        }
                                                        return rrrr
                                                    })
                                                    item3.controlPortList = rrrr
                                                }
                                            }
                                        })
                                    }
                                }
                            })
                        } else {
                            item.cutValueList = [{
                                name: 1,
                                cutStationList: [{}]
                            }]
                        }
                        if (item.cutArea != null) {
                            let areaIdList = item.cutArea.areaIdList.map(item3 => {
                                return Number(item3)
                            })
                            item.cutArea.areaIdList = areaIdList
                        } else {
                            item.cutArea = {
                                areaIdList: undefined,
                                cutValue: undefined,
                                resumeValue: undefined
                            }
                        }
                        if (item.upGrandalarmBasic == null) {
                            item.upGrandalarmBasic = {
                                grandalarmRate: {},
                            }
                        }
                        if (item.downGrandalarmBasic == null) {
                            item.downGrandalarmBasic = {
                                grandalarmRate: {},
                            }
                        }
                    })
                state.formData1.multiplePointBranchList = arr1
            } else {
                if (state.formData1.pointType == 3) {
                    getbiaodashiList(state.formData1.templateId)
                    if (state.formData1.pointId.includes('D')) {
                        state.baohanD = 'D'
                    }
                } else {
                    state.baohanD = formatCloud(state.formData1.sensorId)
                }
                if (state.formData1.cutArea && state.formData1.cutArea != null) {
                    if (state.formData1.cutArea.areaIdList) {
                        if (state.formData1.cutArea.areaIdList.length > 0) {
                            state.formData1.cutArea.areaIdList = state.formData1.cutArea.areaIdList.map(
                                item => {
                                    return Number(item)
                                })
                        }
                    }
                } else {
                    state.formData1.cutArea = {}
                }
                if (state.baohanD == 'D') {
                    if (state.formData1.highShow != null) {
                        alarmtypeList.push({
                            code: 1,
                            name: state.formData1.highShow
                        })
                    }
                    if (state.formData1.lowShow != null) {
                        alarmtypeList.push({
                            code: 2,
                            name: state.formData1.lowShow
                        })
                    }
                    state.alarmBasicList = alarmtypeList
                } else {
                    state.alarmBasicList = [{
                        code: 0,
                        name: '无'
                    }, {
                        code: 1,
                        name: '上限'
                    }, {
                        code: 2,
                        name: '下限'
                    }, {
                        code: 3,
                        name: '上下限'
                    }]
                }
                if (state.formData1.upGrandalarmBasic == null) {
                    state.formData1.upGrandalarmBasic = {
                        grandalarmRate: {
                            thresholdValue: '',
                            rateCycle: ''
                        }
                    }
                } else {
                    if (state.formData1.upGrandalarmBasic.grandalarmRate == null) {
                        state.formData1.upGrandalarmBasic.grandalarmRate = {
                            thresholdValue: ''
                        }
                        state.formData1.upGrandalarmBasic.grandalarmRate = {
                            rateCycle: ''
                        }
                    }
                }
                if (state.formData1.downGrandalarmBasic != null) {
                    if (state.formData1.downGrandalarmBasic.grandalarmRate == null) {
                        state.formData1.downGrandalarmBasic.grandalarmRate = {
                            thresholdValue: ''
                        }
                        state.formData1.downGrandalarmBasic.grandalarmRate = {
                            rateCycle: ''
                        }
                    }
                } else {
                    state.formData1.downGrandalarmBasic = {
                        grandalarmRate: {
                            thresholdValue: '',
                            rateCycle: ''
                        }
                    }
                }
                if (state.formData1.hasUpGrandAlarm) {
                    state.radio1 = '上限分级报警'
                }
                if (state.formData1.cutValueList != null) {
                    if (state.formData1.cutValueList.length > 0) {
                        if (state.cutValueListyou == true) {
                            let arr = []
                            state.formData1.cutValueList.forEach((item, index) => {
                                item.cutStationList.forEach(item2 => {
                                    item2.controlPortList.forEach(item3 => {
                                        if (item3.selected == true) {
                                            selectRowsId.push(item3.controlPort)
                                            nextTick(() => {
                                                checkboxConfig.checkRowKeys =
                                                    selectRowsId
                                            })
                                            item3.stationCode = item2.stationCode
                                            item3.stationPlaceName = item2
                                                .stationPlaceName
                                            arr.push(item3)
                                        }
                                    })
                                    item2.controlPortList = arr
                                })
                            })
                        } else {
                            state.formData1.cutValueList.forEach((item, index) => {
                                item.title = '断电配置'
                                item.name = (index + 1)
                            })
                        }
                    }
                } else {
                    state.formData1.cutValueList = [{
                        name: 1,
                        cutStationList: [{}]
                    }]
                }
            }
        })
    }
    // 删除测点
    function delpointClick() {
        axios.post(state.ponitDelUrl + `?pointId=` + state.editpointId).then(res => {
            proxy.$modal.msgSuccess(res.msg);
            getsider()
            state.addShowTtation = true
            state.addShowPoint = false
            state.nodetailShowTtation = false
            state.detailShowTtation = false
            state.addShowOpenShow = false
            state.addShowOpendetailShow = false
            state.formData = {
                isPlaceotherBreakfalg: false,
                isGasDrainage: false,
                isNetwork: false,
                noOldprotocolSensor: false,
                continuation: false,
                pointCutBroken: false
            }
        })
    }
    // 普通断电
    // 表格禁用状态
    const checkboxConfig1 = reactive({
        reserve: true,
        checkMethod: ({
            row
        }) => {
            return row.controlPortType != null
        }
    })
    const checkboxConfig = reactive({
        reserve: true,
        checkMethod: ({
            row
        }) => {
            return row.controlPortType != null
        }
    })

    // 表格选中事件
    function selectChangeEvent(e, val) {
        e.records.forEach(item => {
            item.selected = true
        })
    }

    function chuangantreeChange(data, node) {
        let alarmtypeList = [{
            code: 0,
            name: '无'
        }]
        let newdata = undefined
        data = proxy.$refs["cascaderValue"].getCheckedNodes()[0].data
        if (!data.data) {
            newdata = data
        } else {
            newdata = data.data
        }
        if (newdata) {
            state.needPlaceType = newdata.needPlaceType
            state.baohanunit = newdata.sensorUnit
            if (newdata.needGrandalarm || newdata.needGrandalarm != null) {
                state.formData1.needGrandalarm = newdata.needGrandalarm
            }
            state.scaleDown = newdata.scaleDown
            state.scaleUp = newdata.scaleUp
            state.formData1.alarmBasic.alarmType = newdata.alarmType
            state.formData1.alarmBasic.upAlarmValue = newdata.upAlarmValue
            state.formData1.alarmBasic.upRelieveValue = newdata.upRelieveValue
            state.formData1.alarmBasic.downAlarmValue = newdata.downAlarmValue
            state.formData1.alarmBasic.downRelieveValue = newdata.downRelieveValue
            if (newdata.sensorId && newdata.sensorId != null) {
                state.baohanD = formatCloud(newdata.sensorId)
                if (state.baohanD == 'D') {
                    if (newdata.highShow != null) {
                        alarmtypeList.push({
                            code: 1,
                            name: newdata.highShow
                        })
                    }
                    if (newdata.lowShow != null) {
                        alarmtypeList.push({
                            code: 2,
                            name: newdata.lowShow
                        })
                    }
                    state.alarmBasicList = alarmtypeList
                    state.cutTypeList = alarmtypeList
                } else {
                    state.alarmBasicList = [{
                        code: 0,
                        name: '无'
                    }, {
                        code: 1,
                        name: '上限'
                    }, {
                        code: 2,
                        name: '下限'
                    }, {
                        code: 3,
                        name: '上下限'
                    }]
                    state.cutTypeList = [{
                        code: 1,
                        name: '上限'
                    }, {
                        code: 2,
                        name: '下限'
                    }]
                }
            }
        }
    }

    function putongAddClick() {
        if (state.formData1.pointType == 1 || state.formData1.pointType == 3) {
            if (state.formData1.cutValueList == null) {
                state.formData1.cutValueList = []
            }
            state.formData1.cutValueList.push({
                title: '断电配置',
                name: 1,
                cutStationList: [{}]
            })
        }
        if (state.formData1.pointType == 2) {
            state.formData1.multiplePointBranchList.forEach(item => {
                if (state.mulactiveNamePoint == item.sensorId) {
                    if (item.cutValueList != null) {
                        item.cutValueList.push({
                            title: '断电配置',
                            name: 1,
                            cutStationList: [{}]
                        })
                    } else {
                        item.cutValueList = []
                        item.cutValueList.push({
                            title: '断电配置',
                            name: 1,
                            cutStationList: [{}]
                        })
                    }
                }
            })
        }
    }
    // 断电配置分站删除
    function fenzhankong(val) {
        if (state.formData1.pointType == 2) {
            state.formData1.multiplePointBranchList.forEach((item, index) => {
                if (state.mulactiveNamePoint == item.sensorId) {
                    item.cutValueList.forEach((item1, index1) => {
                        if (state.ordintranValue == index) {
                            item1.cutStationList.splice(val, 1)
                        }
                    })
                }
            })
        } else {
            state.formData1.cutValueList.forEach((item, index) => {
                if (state.ordintranValue == index) {
                    item.cutStationList.splice(val, 1)
                }
            })
        }
    }
    // 测点普通断电-配置按钮
    function pointputongConfigClick(row) {
        state.addModalconfig = true
        state.formDataconfig = row
        state.cutconfigIdTypereq = row.controlPortType
        state.formDataconfig.controlPort = row.controlPort
        state.formDataconfig.stationCode = row.stationCode
    }

    function pointputongConfigClick1(row) {
        state.addModalconfig1 = true
        state.formDataconfig1 = {}
        state.cutconfigIdTypereq = row.controlPortType
        state.formDataconfig1.controlPort = row.controlPort
        state.formDataconfig1.stationCode = row.stationCode
    }
    // 配置确定按钮
    function onSubmitConfigClick() {
        proxy.$refs['formRefconfig'].validate(valid => {
            if (valid) {
                if (state.cutconfigIdTypereq != null) {
                    axios.post('/controlPort/edit', state.formDataconfig).then(res => {
                        proxy.$modal.msgSuccess(res.msg);
                        getcutconfigId(state.cutconfigId, state.collapseAtive)
                        state.addModalconfig = false
                    })
                } else {
                    axios.post('/controlPort/add', state.formDataconfig).then(res => {
                        proxy.$modal.msgSuccess(res.msg);
                        getcutconfigId(state.cutconfigId, state.collapseAtive)
                        state.addModalconfig = false
                    })
                }
            }
        })
    }

    function onSubmitConfigClick1() {
        proxy.$refs['formRefconfig1'][0].validate(valid => {
            if (valid) {
                if (state.cutconfigIdTypereq != null) {
                    axios.post('/controlPort/edit', state.formDataconfig1).then(res => {
                        proxy.$modal.msgSuccess(res.msg);
                        getcutconfigId(state.cutconfigId, state.collapseAtive)
                        state.addModalconfig1 = false
                    })
                } else {
                    axios.post('/controlPort/add', state.formDataconfig1).then(res => {
                        proxy.$modal.msgSuccess(res.msg);
                        getcutconfigId(state.cutconfigId, state.collapseAtive)
                        state.addModalconfig1 = false
                    })
                }
            }
        })
    }
    // 配置取消按钮
    function cancelConfigClick() {
        state.addModalconfig = false
        state.addModalconfig1 = false
    }

    function removeTab(val) {
        if (state.formData1.pointType == 1) {
            if (val == 0) {} else {
                state.formData1.cutValueList.splice(val, 1)
            }
        }
        if (state.formData1.pointType == 2) {
            state.formData1.multiplePointBranchList.forEach(item => {
                if (state.mulactiveNamePoint == item.sensorId) {
                    item.cutValueList.splice(val, 1)
                }
            })
        }
    }

    function addcutdeviceClick() {
        if (state.formData1.pointType == 1) {
            state.formData1.cutValueList.forEach((item, index) => {
                if (state.ordintranValue == index) {
                    item.cutStationList.push({})
                }
            })
        }
        if (state.formData1.pointType == 2) {
            state.formData1.multiplePointBranchList.forEach(item => {
                if (state.mulactiveNamePoint == item.sensorId) {
                    item.cutValueList.forEach((item, index) => {
                        if (state.ordintranValue == index) {
                            item.cutStationList.push({})
                        }
                    })
                }
            })
        }
    }
    // 预报警全部详情
    function hasPreAlarmdescClick() {
        state.addModalhasPreAlarm = true
        getalldescList(state.hasPreAlarmData.query)
        getalldescselList()
    }

    function hasPreAlarmpagechange() {
        getalldescList(state.hasPreAlarmData.query)
    }

    function yubaojingConfigClick(row) {
        state.baohanD = formatCloud(row.deviceId)
        state.formData1.prealarmBasic.hasPreAlarm = true
        state.formData1.prealarmBasic.upPrealarmValue = row.upPrealarmValue
        state.formData1.prealarmBasic.downPrealarmValue = row.downPrealarmValue
        state.formData1.prealarmBasic.prealarmTimeout = row.prealarmTimeout
        state.addModalhasPreAlarm = false
    }
    // 恒值预报警全部详情
    function hasConstantPreAlarmdescClick() {
        state.addModalhasConstantPreAlarm = true
        getalldescList(state.hasConstantPreAlarmData.query)
        getalldescselList()
    }

    function hengbaojingConfigClick(row) {
        state.baohanD = formatCloud(row.deviceId)
        state.formData1.prealarmBasic.hasConstantPreAlarm = true
        state.formData1.prealarmBasic.constantTime = row.constantTime
        state.addModalhasConstantPreAlarm = false
    }
    // 全部详情列表数据
    function getalldescList(data) {
        axios.post('/point/preAlarmList', data).then(res => {
            state.hasPreAlarmData.tabledata = res.data.list
            state.hasConstantPreAlarmData.tabledata = res.data.list
            state.hasPreAlarmData.total = res.data.total
            state.hasConstantPreAlarmData.total = res.data.total
        })
    }
    // 全部详情下拉接口
    function getalldescselList() {
        axios.post('/point/queryAllName', {}).then(res => {
            state.hasPreAlarmData.selList = res.data
            state.hasConstantPreAlarmData.selList = res.data
        })
    }
    // 全部详情查询
    function yinyonClick() {
        getalldescList(state.hasPreAlarmData.query)
    }
    // 重置全部详情
    function cancelyinyonClick() {
        state.hasPreAlarmData.condition = ''
        state.hasPreAlarmData.query.condition = ''
        getalldescList(state.hasPreAlarmData.query)
    }
    // 全部详情查询
    function yinyonClick1() {
        getalldescList(state.hasConstantPreAlarmData.query)
    }
    // 重置全部详情
    function cancelyinyonClick1() {
        state.hasConstantPreAlarmData.condition = ''
        state.hasConstantPreAlarmData.query.condition = ''
        getalldescList(state.hasConstantPreAlarmData.query)
    }
    // 获取父级id
    function findParentArr(targetId, mock) {
        const ids = []

        function getParent(sources) {
            if (Array.isArray(sources)) {
                return sources.find(elm => {
                    let rs = getParent(elm)
                    if (rs) {
                        ids.push(elm.code)
                    }
                    return rs
                })
            }
            if (sources.code === targetId) {
                return true
            }
            if (Array.isArray(sources.children)) {
                return getParent(sources.children)
            }
        }
        getParent(mock)
        ids.reverse()
        return ids
    }

    function chuangantreeChange1(val) {
        let arr = findParentArr(val, state.hasPreAlarmData.selList)
        state.hasPreAlarmData.query.condition = arr.toString().replace(/,/g, '')
    }

    function chuangantreeChange2(val) {
        let arr = findParentArr(val, state.hasPreAlarmData.selList)
        state.hasConstantPreAlarmData.query.condition = arr.toString().replace(/,/g, '')
    }
    // 控制源列表
    function getcontrolSourceList() {
        axios.post('/point/controlList', state.controlSourceData.query).then(res => {
            state.controlSourceData.tabledata = res.data.list
            state.controlSourceData.total = res.data.total
        })
    }

    function controlSourceDatapagechange() {
        getcontrolSourceList()
    }
    // 断电模式下拉事件
    function cutTypeChange(val) {

    }
    // 开出口馈电测点下拉事件
    function feedPointIdChange(val) {
        state.feedPointIdList.forEach(item => {
            if (val == item.pointId) {
                state.formData2.pointPlaceName = item.pointPlaceName
            }
        })
    }
    // 开出口安装地点下拉事件
    function pointPlaceIdopenChange(val) {
        state.addressInfoList.forEach(item => {
            if (val == item.id) {
                state.formData2.pointPlaceName = item.placeName
            }
        })
    }
    // 开出口-控制设备下拉事件
    function controlPortTypeChange(val) {
        state.controlPortTypeList.forEach(item => {
            if (val == item.code) {
                state.formData2.controlPortTypeName = item.name
            }
        })
        if (val == 2) {
            state.formData2.feedPointId = undefined
        }
    }
    // 获取开出口详情
    function getopendetailData(id, stationCode) {
        axios.get('/controlPort/detail?controlPort=' + id + '&stationCode=' + stationCode).then(res => {
            state.formData2 = res.data
        })
    }
    // 新增开出口显示右侧按钮
    function addopenClickright(stationCode) {
        state.formData2 = {}
        state.formData2.stationCode = stationCode
        state.addShowTtation = false
        state.detailShowTtation = false
        state.nodetailShowTtation = false
        state.addShowPoint = false
        state.addShowOpendetailShow = false
        state.addShowdetailPoint = false
        state.addShowOpenShow = true
    }
    // 编辑开出口详情
    function editopenBtn() {
        getopendetailData(state.formData2.controlPort, state.formData2.stationCode)
        state.addShowTtation = false
        state.detailShowTtation = false
        state.nodetailShowTtation = false
        state.addShowPoint = false
        state.addShowOpendetailShow = false
        state.addShowdetailPoint = false
        state.addShowOpenShow = true
    }
    // 删除开出口
    function delopenClick(controlPort, stationCode) {
        ElMessageBox.confirm(
                '确定要删除吗?',
                '温馨提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning',
                }
            )
            .then(() => {
                axios.post('/controlPort/delete?controlPort=' + controlPort + '&stationCode=' +
                    stationCode).then(res => {
                    if (res.code == 200) {
                        proxy.$modal.msgSuccess(res.msg);
                        getsider()
                    }
                })
            })
            .catch(() => {
                proxy.$modal.msgWarning('删除取消');
            })

    }

    function cancelopenClick() {
        state.addShowTtation = false
        state.detailShowTtation = false
        state.nodetailShowTtation = false
        state.addShowPoint = false
        state.addShowOpendetailShow = false
        state.addShowdetailPoint = false
        state.addShowOpenShow = false
        state.addShowOpendetailShow = true
    }
    // 新增开出口提交
    function addopenClick() {
        proxy.$refs["formRef2"].validate(valid => {
            if (valid) {
                if (state.controlPortTypeId != null) {
                    axios.post('/controlPort/edit', state.formData2).then(res => {
                        if (res.code == 200) {
                            proxy.$modal.msgSuccess(res.msg);
                            getsider()
                            state.addShowTtation = false
                            state.detailShowTtation = false
                            state.nodetailShowTtation = false
                            state.addShowPoint = false
                            state.addShowOpendetailShow = false
                            state.addShowdetailPoint = false
                            state.addShowOpenShow = false
                            state.addShowOpendetailShow = true
                        }
                    })
                } else {
                    axios.post('/controlPort/add', state.formData2).then(res => {
                        if (res.code == 200) {
                            proxy.$modal.msgSuccess(res.msg);
                            getsider()
                            state.addShowTtation = false
                            state.detailShowTtation = false
                            state.nodetailShowTtation = false
                            state.addShowPoint = false
                            state.addShowOpendetailShow = false
                            state.addShowdetailPoint = false
                            state.addShowOpenShow = false
                            state.addShowOpendetailShow = true
                        }
                    })
                }
            }
        })
    }

    function mouseenter(data) {
        data.del = true
    }

    function mouseleave(data) {
        data.del = false
    }
    // 虚拟测点
    function getTemplateTreeListData() {
        getTemplateTreeList().then(res => {
            state.templateTreeList = res.data
        })
    }
    getTemplateTreeListData()

    function getpointIdsListData(data) {
        // getPointIdsList(data).then(res=>{
        //     state.pointIdsList=res.data
        // })
        return new Promise((resolve, reject) => {
            getPointIdsList({
                code: data
            }).then(res => {
                resolve(res.data)
            })
        })
    }

    function templateTreeChange(id) {
        getbiaodashiList(id)
        if (proxy.$refs["templateref"].getCheckedNodes()[0].pathLabels[0].includes('开关')) {
            state.baohanD = 'D'
        } else {
            state.baohanD = 'A'
        }
    }

    function getbiaodashiList(id) {
        let arr = []
        axios.get('/template/expression/getExpressionVo/' + id).then(res => {
            let expressionList = res.data.expressionList.map(item => {
                return {
                    value: item,
                    obj: undefined
                }
            })
            for (let i = 0; i < expressionList.length; i++) {
                Object.keys(res.data.templateNodeMap).map(async item => {
                    if (expressionList[i].value == item) {
                        if (state.formData1.virtualPointMap) {
                            if (state.formData1.virtualPointMap != null) {
                                expressionList[i].value = state.formData1.virtualPointMap[item]
                                    .pointName
                                expressionList[i].obj = state.formData1.virtualPointMap[item]
                                expressionList[i].obj.code = state.formData1.virtualPointMap[item]
                                    .sensorId
                                let codeList = await getpointIdsListData(state.formData1
                                    .virtualPointMap[item]
                                    .sensorId)
                                expressionList[i].obj.codeList = codeList
                            }
                        } else {
                            expressionList[i].value = null
                            expressionList[i].value1 = res.data.templateNodeMap[item]
                                .name
                            expressionList[i].obj = res.data.templateNodeMap[item]
                            let codeList = await getpointIdsListData(res.data.templateNodeMap[item]
                                .code)
                            expressionList[i].obj.codeList = codeList
                        }
                    }
                })
            }
            state.expressionVoList = expressionList
        })
    }

    function pointTypeChange(val) {
        state.formData1.sensorId = undefined
        if (val != 3) {
            state.expressionVoList = []
        }
    }
    // 新增公式模版
    function addtemplateClick() {
        state.addtemModal = true
    }

    function mobanTypeChange(val) {
        state.mobanType = val
    }

    function addtemModalcancel() {
        state.addtemModal = false
    }
</script>
<style lang="scss" scoped>
    .myValue {
        color: rgba(0, 186, 173, 1);
    }

    .title_r_box {
        padding-top: 1px;
        position: sticky;
        z-index: 3;
        top: 0px;
        background: #fff;
    }

    ::v-deep .el-button>span {
        margin-top: -2px;
    }

    ::v-deep .el-select__tags span {
        white-space: normal;
    }

    ::v-deep .el-tabs__nav-wrap::after {
        width: 0;
    }

    .custom-tree-node {
        padding-left: 20px;
        margin-left: -20px;
        z-index: 1;

        .deleteIcon {
            margin-right: 20px;
        }

        &>span {
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }
    }

    ::v-deep {
        .el-collapse-item__wrap {
            background-color: transparent;
        }

        .el-collapse-item__arrow:before {
            font-style: normal;
            content: "展开";
            font-size: 14px;
            color: #409eff;
            white-space: nowrap;
            font-weight: 700;
            position: absolute;
            right: 16px;
        }

        .el-collapse-item__arrow.is-active {
            transform: none;
        }

        .el-collapse-item__arrow.is-active::before {
            content: "收起";
            font-size: 14px;
            color: #409eff;
            white-space: nowrap;
            font-weight: 700;
            position: absolute;
            right: 16px;
        }
    }

    .collapseBoxdesc {
        .el-collapse {
            border-top: none;
        }

        ::v-deep .el-collapse-item__header {
            padding: 20px 0 10px 0;
            line-height: 18px;
            background-color: rgb(247, 247, 247);
            border-bottom: none;
        }
    }

    .collapseBox {
        text-align: left;

        p {
            padding: 4px 0;
            margin: 0;
            width: 100%;
            height: 26px;
        }

    }

    ::v-deep .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
        color: rgba(42, 130, 228, 1);
    }

    ::v-deep .el-tabs__header {
        margin-bottom: 0;
    }

    .detailcollapse {
        .el-collapse {
            border-top: none;
        }

        ::v-deep .el-collapse-item__header {
            padding: 10px 0;
            line-height: 18px;
            background-color: rgb(247, 247, 247);
            border-bottom: none;
        }
    }

    ::v-deep .putongClass .el-tabs__item {
        width: 130px;
        height: 34px;

        &:hover {

            .el-icon {
                position: relative;
                height: 20px !important;
                width: 20px !important;

                &:after {
                    position: absolute;
                    content: url('@/assets/icons/svg/delkong.svg');
                    top: 2px;
                    left: 50%;
                    transform: translateX(-50%);
                }
            }
        }


        .el-icon svg {
            display: none;

        }
    }

    .b {
        display: inline-block;
        border-radius: 2px;
        padding: 0px 2px;
        margin-right: 4px;
    }

    .grey {
        padding: 0px 10px;
        color: rgba(184, 184, 184, 1);
        background: rgba(184, 184, 184, 0.1);
        border: 1px solid rgba(184, 184, 184, 0.87);
    }

    .blue {
        color: rgba(42, 130, 228, 1);
        background: rgba(42, 130, 228, 0.1);
        border: 1px solid rgba(42, 130, 228, 0.87);
    }

    .red {
        color: rgba(172, 51, 193, 1);
        background: rgba(172, 51, 193, 0.1);
        border: 1px solid rgba(172, 51, 193, 0.87);
    }

    .zi {
        color: rgba(121, 72, 234, 1);
        background: rgba(121, 72, 234, 0.1);
        border: 1px solid rgba(121, 72, 234, 0.87);
    }

    .pagestyle {
        padding: 10px;
    }

    .p_btn {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 4px;
    }

    .formBox {
        border: 1px solid rgba(247, 247, 247, 1);
        padding-bottom: 10px;
    }

    .title_r {
        border-radius: 4px 4px 0 0;
        padding: 15px 10px;
        font-size: 14px;
        color: rgba(52, 76, 107, 0.6);
        background-color: rgba(247, 247, 247, 1);
        margin: 0;

        span {
            margin-right: 10px;

            &.active {
                color: rgba(64, 158, 255, 1);
                position: relative;

                &::before {
                    position: absolute;
                    content: '';
                    left: 50%;
                    transform: translateX(-50%);
                    bottom: -15px;
                    width: 100%;
                    height: 2px;
                    background-color: rgba(64, 158, 255, 1);
                }
            }
        }
    }

    .desc_box {
        padding: 10px;
        background: rgba(91, 109, 128, 0.04);
        margin: 10px 10px 0;
    }

    .footer_card {
        margin-top: 20px;

        .btn {
            margin: 0 5px;
        }
    }

    .activeNameTab {
        color: #333;
        font-size: 14px;
        font-weight: 700;
        padding: 0 10px;

        .span1,
        .span {
            position: relative;
            margin-right: 20px;
            cursor: pointer;

            &.span1 {
                margin-right: 0;
                padding: 8px 20px;
                border-radius: 4px 4px 0 0;
            }

            &.active {
                position: relative;

                &::before {
                    position: absolute;
                    content: '';
                    left: 50%;
                    bottom: -10px;
                    width: 56px;
                    height: 2px;
                    background-color: rgba(64, 158, 255, 1);
                    transform: translate(-50%, -50%);

                }
            }

            &.active1 {
                border-radius: 4px 4px, 0px, 0px;
                background: linear-gradient(180deg, rgba(91, 109, 128, 0.12) 0%, rgba(91, 109, 128, 0.04) 100%);
            }
        }
    }

    :deep(.table_box>.fsc) {
        display: none;
    }

    :deep(.el-tabs--card>.el-tabs__header) {
        border-bottom: none;
    }

    :deep(.el-tabs--card>.el-tabs__header .el-tabs__nav) {
        border: none;

        .el-tabs__item {
            color: rgba(62, 70, 79, .6);
        }

        .el-tabs__item.is-active {
            color: #333;
            border-radius: 4px 4px, 0px, 0px;
            background: linear-gradient(180deg, rgba(91, 109, 128, 0.12) 0%, rgba(91, 109, 128, 0.04) 100%);
        }
    }
</style>